<?xml version="1.0" encoding="utf-8"?><doc><assembly>
        <name>Remotion.Data.Linq</name>
    </assembly><members><member name="T:Remotion.Data.Linq.DefaultQueryProvider"><summary>
            Represents a default implementation of <see cref="T:Remotion.Data.Linq.QueryProviderBase" /> that is automatically used by <see cref="T:Remotion.Data.Linq.QueryableBase`1" />
            unless a custom <see cref="T:System.Linq.IQueryProvider" /> is specified. The <see cref="T:Remotion.Data.Linq.DefaultQueryProvider" /> executes queries by parsing them into
            an instance of type <see cref="T:Remotion.Data.Linq.QueryModel" />, which is then passed to an implementation of <see cref="T:Remotion.Data.Linq.IQueryExecutor" /> to obtain the
            result set.
            </summary></member><member name="T:Remotion.Data.Linq.QueryProviderBase"><summary>
            Provides a default implementation of <see cref="T:System.Linq.IQueryProvider" /> that executes queries (subclasses of <see cref="T:Remotion.Data.Linq.QueryableBase`1" />) by
            first parsing them into a <see cref="T:Remotion.Data.Linq.QueryModel" /> and then passing that to a given implementation of <see cref="T:Remotion.Data.Linq.IQueryExecutor" />.
            Usually, <see cref="T:Remotion.Data.Linq.DefaultQueryProvider" /> should be used unless <see cref="M:Remotion.Data.Linq.QueryProviderBase.CreateQuery``1(System.Linq.Expressions.Expression)" /> must be manually implemented.
            </summary></member><member name="M:Remotion.Data.Linq.QueryProviderBase.#ctor(Remotion.Data.Linq.IQueryExecutor)"><summary>
            Initializes a new instance of <see cref="T:Remotion.Data.Linq.QueryProviderBase" /> using the default <see cref="T:Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionNodeTypeRegistry" />.
            </summary><param name="executor">The <see cref="T:Remotion.Data.Linq.IQueryExecutor" /> used to execute queries against a specific query backend.</param></member><member name="M:Remotion.Data.Linq.QueryProviderBase.#ctor(Remotion.Data.Linq.IQueryExecutor,Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionNodeTypeRegistry)"><summary>
            Initializes a new instance of <see cref="T:Remotion.Data.Linq.QueryProviderBase" /> using a custom <see cref="T:Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionNodeTypeRegistry" />. Use this
            constructor to specify a specific set of parsers to use when analyzing the query.
            </summary><param name="executor">The <see cref="T:Remotion.Data.Linq.IQueryExecutor" /> used to execute queries against a specific query backend.</param><param name="nodeTypeRegistry">The <see cref="T:Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionNodeTypeRegistry" /> containing the <see cref="T:System.Linq.Expressions.MethodCallExpression" />
            parsers that should be used when parsing queries.</param></member><member name="M:Remotion.Data.Linq.QueryProviderBase.CreateQuery(System.Linq.Expressions.Expression)"><summary>
            Constructs an <see cref="T:System.Linq.IQueryable" /> object that can evaluate the query represented by a specified expression tree. This
            method delegates to <see cref="M:Remotion.Data.Linq.QueryProviderBase.CreateQuery``1(System.Linq.Expressions.Expression)" />.
            </summary><param name="expression">An expression tree that represents a LINQ query.</param></member><member name="M:Remotion.Data.Linq.QueryProviderBase.CreateQuery``1(System.Linq.Expressions.Expression)"><summary>
            Constructs an <see cref="T:System.Linq.IQueryable`1" /> object that can evaluate the query represented by a specified expression tree. This method is 
            called by the standard query operators defined by the <see cref="T:System.Linq.Queryable" /> class.
            </summary><param name="expression">An expression tree that represents a LINQ query.</param></member><member name="M:Remotion.Data.Linq.QueryProviderBase.Execute``1(System.Linq.Expressions.Expression)"><summary>
            Executes the query defined by the specified expression by parsing it with a 
            <see cref="T:Remotion.Data.Linq.Parsing.Structure.QueryParser" /> and then running it through the <see cref="P:Remotion.Data.Linq.QueryProviderBase.Executor" />.
            This method is invoked through the <see cref="T:System.Linq.IQueryProvider" /> interface by methods such as 
            <see cref="M:System.Linq.Queryable.First``1(System.Linq.IQueryable{``0})" /> and 
            <see cref="M:System.Linq.Queryable.Count``1(System.Linq.IQueryable{``0})" />, and it's also invoked by <see cref="T:Remotion.Data.Linq.QueryableBase`1" />
            when the <see cref="T:System.Linq.IQueryable`1" /> is enumerated.
            </summary></member><member name="M:Remotion.Data.Linq.QueryProviderBase.GenerateQueryModel(System.Linq.Expressions.Expression)"><summary>
            The method generates a <see cref="T:Remotion.Data.Linq.QueryModel" />.
            </summary><param name="expression">The query as expression chain.</param></member><member name="P:Remotion.Data.Linq.QueryProviderBase.Executor"><summary>
            Gets or sets the implementation of <see cref="T:Remotion.Data.Linq.IQueryExecutor" /> used to execute queries created via <see cref="M:Remotion.Data.Linq.QueryProviderBase.CreateQuery``1(System.Linq.Expressions.Expression)" />.
            </summary></member><member name="P:Remotion.Data.Linq.QueryProviderBase.ExpressionTreeParser"><summary>
            Gets the <see cref="P:Remotion.Data.Linq.QueryProviderBase.ExpressionTreeParser" /> used by this <see cref="T:Remotion.Data.Linq.QueryProviderBase" /> to parse LINQ <see cref="T:System.Linq.Expressions.Expression" />
            trees.
            </summary></member><member name="M:Remotion.Data.Linq.DefaultQueryProvider.CreateQuery``1(System.Linq.Expressions.Expression)"><summary>
            Creates a new <see cref="T:System.Linq.IQueryable" /> (of type <see cref="P:Remotion.Data.Linq.DefaultQueryProvider.QueryableType" /> with <typeparamref name="T" /> as its generic argument) that
            represents the query defined by <paramref name="expression" /> and is able to enumerate its results.
            </summary><param name="expression">An expression representing the query for which a <see cref="T:System.Linq.IQueryable`1" /> should be created.</param></member><member name="P:Remotion.Data.Linq.DefaultQueryProvider.QueryableType"><summary>
            Gets the type of queryable created by this provider. This is the generic type definition of an implementation of <see cref="T:System.Linq.IQueryable`1" />
            (usually a subclass of <see cref="T:Remotion.Data.Linq.QueryableBase`1" />) with exactly one type argument.
            </summary></member><member name="T:Remotion.Data.Linq.IQueryExecutor"><summary>
            Constitutes the bridge between re-linq and a concrete query provider implementation. Concrete providers implement this interface
            and <see cref="T:Remotion.Data.Linq.QueryProviderBase" /> calls the respective method of the interface implementation when a query is to be executed.
            </summary></member><member name="M:Remotion.Data.Linq.IQueryExecutor.ExecuteScalar``1(Remotion.Data.Linq.QueryModel)"><summary>
            Executes the given <paramref name="queryModel" /> as a scalar query, i.e. as a query returning a scalar value of type <typeparamref name="T" />.
            The query ends with a scalar result operator, for example a <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.CountResultOperator" /> or a <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.SumResultOperator" />.
            </summary><param name="queryModel">The <see cref="T:Remotion.Data.Linq.QueryModel" /> representing the query to be executed. Analyze this via an 
            <see cref="T:Remotion.Data.Linq.IQueryModelVisitor" />.</param></member><member name="M:Remotion.Data.Linq.IQueryExecutor.ExecuteSingle``1(Remotion.Data.Linq.QueryModel,System.Boolean)"><summary>
            Executes the given <paramref name="queryModel" /> as a single object query, i.e. as a query returning a single object of type 
            <typeparamref name="T" />.
            The query ends with a single result operator, for example a <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.FirstResultOperator" /> or a <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.SingleResultOperator" />.
            </summary><param name="queryModel">The <see cref="T:Remotion.Data.Linq.QueryModel" /> representing the query to be executed. Analyze this via an 
            <see cref="T:Remotion.Data.Linq.IQueryModelVisitor" />.</param><param name="returnDefaultWhenEmpty">If <see langword="true" />, the executor must return a default value when its result set is empty; 
            if <see langword="false" />, it should throw an <see cref="T:System.InvalidOperationException" /> when its result set is empty.</param></member><member name="M:Remotion.Data.Linq.IQueryExecutor.ExecuteCollection``1(Remotion.Data.Linq.QueryModel)"><summary>
            Executes the given <paramref name="queryModel" /> as a collection query, i.e. as a query returning objects of type <typeparamref name="T" />. 
            The query does not end with a scalar result operator, but it can end with a single result operator, for example 
            <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.SingleResultOperator" /> or <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.FirstResultOperator" />. In such a case, the returned enumerable must yield exactly 
            one object (or none if the last result operator allows empty result sets).
            </summary><param name="queryModel">The <see cref="T:Remotion.Data.Linq.QueryModel" /> representing the query to be executed. Analyze this via an 
            <see cref="T:Remotion.Data.Linq.IQueryModelVisitor" />.</param></member><member name="T:Remotion.Data.Linq.IQueryModelVisitor"><summary>
            Defines an interface for visiting the clauses of a <see cref="T:Remotion.Data.Linq.QueryModel" />.
            </summary></member><member name="T:Remotion.Data.Linq.QueryableBase`1"><summary>
            Acts as a common base class for <see cref="T:System.Linq.IQueryable`1" /> implementations based on re-linq. In a specific LINQ provider, a custom queryable
            class should be derived from <see cref="T:Remotion.Data.Linq.QueryableBase`1" /> which supplies an implementation of <see cref="T:Remotion.Data.Linq.IQueryExecutor" /> that is used to 
            execute the query. This is then used as an entry point (the main data source) of a LINQ query.
            </summary></member><member name="M:Remotion.Data.Linq.QueryableBase`1.#ctor(Remotion.Data.Linq.IQueryExecutor)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.QueryableBase`1" /> class with a <see cref="T:Remotion.Data.Linq.DefaultQueryProvider" /> and the given 
            <paramref name="executor" />. This constructor should be used by subclasses to begin a new query. The <see cref="P:Remotion.Data.Linq.QueryableBase`1.Expression" /> generated by 
            this constructor is a <see cref="T:System.Linq.Expressions.ConstantExpression" /> pointing back to this <see cref="T:Remotion.Data.Linq.QueryableBase`1" />.
            </summary><param name="executor">The <see cref="T:Remotion.Data.Linq.IQueryExecutor" /> used to execute the query represented by this <see cref="T:Remotion.Data.Linq.QueryableBase`1" />.</param></member><member name="M:Remotion.Data.Linq.QueryableBase`1.#ctor(System.Linq.IQueryProvider)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.QueryableBase`1" /> class with a specific <see cref="T:System.Linq.IQueryProvider" />. This constructor
            should only be used to begin a query when <see cref="T:Remotion.Data.Linq.DefaultQueryProvider" /> does not fit the requirements.
            </summary><param name="provider">The provider used to execute the query represented by this <see cref="T:Remotion.Data.Linq.QueryableBase`1" /> and to construct
            queries around this <see cref="T:Remotion.Data.Linq.QueryableBase`1" />.</param></member><member name="M:Remotion.Data.Linq.QueryableBase`1.#ctor(System.Linq.IQueryProvider,System.Linq.Expressions.Expression)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.QueryableBase`1" /> class with a given <paramref name="provider" /> and 
            <paramref name="expression" />. A constructor with a matching signature must be exposed on subclasses because it is used by 
            <see cref="T:Remotion.Data.Linq.DefaultQueryProvider" /> to construct queries around this <see cref="T:Remotion.Data.Linq.QueryableBase`1" /> when a query method (e.g. of the
            <see cref="T:System.Linq.Queryable" /> class) is called.
            </summary><param name="provider">The provider used to execute the query represented by this <see cref="T:Remotion.Data.Linq.QueryableBase`1" /> and to construct
            queries around this <see cref="T:Remotion.Data.Linq.QueryableBase`1" />.</param><param name="expression">The expression representing the query.</param></member><member name="M:Remotion.Data.Linq.QueryableBase`1.GetEnumerator"><summary>
            Executes the query via the <see cref="P:Remotion.Data.Linq.QueryableBase`1.Provider" /> and returns an enumerator that iterates through the items returned by the query.
            </summary></member><member name="P:Remotion.Data.Linq.QueryableBase`1.Expression"><summary>
            Gets the expression tree that is associated with the instance of <see cref="T:System.Linq.IQueryable" />. This expression describes the
            query represented by this <see cref="T:Remotion.Data.Linq.QueryableBase`1" />.
            </summary></member><member name="P:Remotion.Data.Linq.QueryableBase`1.Provider"><summary>
            Gets the query provider that is associated with this data source. The provider is used to execute the query. By default, a 
            <see cref="T:Remotion.Data.Linq.DefaultQueryProvider" /> is used that parses the query and passes it on to an implementation of <see cref="T:Remotion.Data.Linq.IQueryExecutor" />.
            </summary></member><member name="P:Remotion.Data.Linq.QueryableBase`1.ElementType"><summary>
            Gets the type of the element(s) that are returned when the expression tree associated with this instance of <see cref="T:System.Linq.IQueryable" /> is executed.
            </summary></member><member name="T:Remotion.Data.Linq.QueryModel"><summary>
            Provides an abstraction of an expression tree created for a LINQ query. <see cref="T:Remotion.Data.Linq.QueryModel" /> instances are passed to LINQ providers based
            on re-linq via <see cref="T:Remotion.Data.Linq.IQueryExecutor" />, but you can also use <see cref="T:Remotion.Data.Linq.Parsing.Structure.QueryParser" /> to parse an expression tree by hand or construct
            a <see cref="T:Remotion.Data.Linq.QueryModel" /> manually via its constructor.
            </summary></member><member name="M:Remotion.Data.Linq.QueryModel.#ctor(Remotion.Data.Linq.Clauses.MainFromClause,Remotion.Data.Linq.Clauses.SelectClause)"><summary>
            Initializes a new instance of <see cref="T:Remotion.Data.Linq.QueryModel" />
            </summary><param name="mainFromClause">The <see cref="T:Remotion.Data.Linq.Clauses.MainFromClause" /> of the query. This is the starting point of the query, generating items 
            that are filtered and projected by the query.</param><param name="selectClause">The <see cref="P:Remotion.Data.Linq.QueryModel.SelectClause" /> of the query. This is the end point of
            the query, it defines what is actually returned for each of the items coming from the <see cref="P:Remotion.Data.Linq.QueryModel.MainFromClause" /> and passing the 
            <see cref="P:Remotion.Data.Linq.QueryModel.BodyClauses" />. After it, only the <see cref="P:Remotion.Data.Linq.QueryModel.ResultOperators" /> modify the result of the query.</param></member><member name="M:Remotion.Data.Linq.QueryModel.GetOutputDataInfo"><summary>
            Gets an <see cref="T:Remotion.Data.Linq.Clauses.StreamedData.IStreamedDataInfo" /> object describing the data streaming out of this <see cref="T:Remotion.Data.Linq.QueryModel" />. If a query ends with
            the <see cref="P:Remotion.Data.Linq.QueryModel.SelectClause" />, this corresponds to <see cref="M:Remotion.Data.Linq.Clauses.SelectClause.GetOutputDataInfo" />. If a query has 
            <see cref="P:Remotion.Data.Linq.QueryModel.ResultOperators" />, the data is further modified by those operators.
            </summary></member><member name="M:Remotion.Data.Linq.QueryModel.Accept(Remotion.Data.Linq.IQueryModelVisitor)"><summary>
            Accepts an implementation of <see cref="T:Remotion.Data.Linq.IQueryModelVisitor" /> or <see cref="T:Remotion.Data.Linq.QueryModelVisitorBase" />, as defined by the Visitor pattern.
            </summary></member><member name="M:Remotion.Data.Linq.QueryModel.ToString"><summary>
            Returns a <see cref="T:System.String" /> representation of this <see cref="T:Remotion.Data.Linq.QueryModel" />.
            </summary></member><member name="M:Remotion.Data.Linq.QueryModel.Clone"><summary>
            Clones this <see cref="T:Remotion.Data.Linq.QueryModel" />, returning a new <see cref="T:Remotion.Data.Linq.QueryModel" /> equivalent to this instance, but with its clauses being
            clones of this instance's clauses. Any <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> in the cloned clauses that points back to another clause 
            in this <see cref="T:Remotion.Data.Linq.QueryModel" /> (including its subqueries) is adjusted to point to the respective clones in the cloned 
            <see cref="T:Remotion.Data.Linq.QueryModel" />. Any subquery nested in the <see cref="T:Remotion.Data.Linq.QueryModel" /> is also cloned.
            </summary></member><member name="M:Remotion.Data.Linq.QueryModel.Clone(Remotion.Data.Linq.Clauses.QuerySourceMapping)"><summary>
            Clones this <see cref="T:Remotion.Data.Linq.QueryModel" />, returning a new <see cref="T:Remotion.Data.Linq.QueryModel" /> equivalent to this instance, but with its clauses being
            clones of this instance's clauses. Any <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> in the cloned clauses that points back to another clause 
            in  this <see cref="T:Remotion.Data.Linq.QueryModel" /> (including its subqueries) is adjusted to point to the respective clones in the cloned 
            <see cref="T:Remotion.Data.Linq.QueryModel" />. Any subquery nested in the <see cref="T:Remotion.Data.Linq.QueryModel" /> is also cloned.
            </summary><param name="querySourceMapping">The <see cref="T:Remotion.Data.Linq.Clauses.QuerySourceMapping" /> defining how to adjust instances of 
            <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> in the cloned <see cref="T:Remotion.Data.Linq.QueryModel" />. If there is a <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" />
            that points out of the <see cref="T:Remotion.Data.Linq.QueryModel" /> being cloned, specify its replacement via this parameter. At the end of the cloning process,
            this object maps all the clauses in this original <see cref="T:Remotion.Data.Linq.QueryModel" /> to the clones created in the process.
            </param></member><member name="M:Remotion.Data.Linq.QueryModel.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"><summary>
            Transforms all the expressions in this <see cref="T:Remotion.Data.Linq.QueryModel" />'s clauses via the given <paramref name="transformation" /> delegate.
            </summary><param name="transformation">The transformation object. This delegate is called for each <see cref="T:System.Linq.Expressions.Expression" /> within this 
            <see cref="T:Remotion.Data.Linq.QueryModel" />, and those expressions will be replaced with what the delegate returns.</param></member><member name="M:Remotion.Data.Linq.QueryModel.GetNewName(System.String)"><summary>
            Returns a new name with the given prefix. The name is different from that of any <see cref="T:Remotion.Data.Linq.Clauses.FromClauseBase" /> added
            in the <see cref="T:Remotion.Data.Linq.QueryModel" />. Note that clause names that are changed after the clause is added as well as names of other clauses
            than from clauses are not considered when determining "unique" names. Use names only for readability and debugging, not
            for uniquely identifying clauses.
            </summary></member><member name="M:Remotion.Data.Linq.QueryModel.Execute(Remotion.Data.Linq.IQueryExecutor)"><summary>
            Executes this <see cref="T:Remotion.Data.Linq.QueryModel" /> via the given <see cref="T:Remotion.Data.Linq.IQueryExecutor" />. By default, this indirectly calls 
            <see cref="M:Remotion.Data.Linq.IQueryExecutor.ExecuteCollection``1(Remotion.Data.Linq.QueryModel)" />, but this can be modified by the <see cref="P:Remotion.Data.Linq.QueryModel.ResultOperators" />.
            </summary><param name="executor">The <see cref="T:Remotion.Data.Linq.IQueryExecutor" /> to use for executing this query.</param></member><member name="M:Remotion.Data.Linq.QueryModel.IsIdentityQuery"><summary>
            Determines whether this <see cref="T:Remotion.Data.Linq.QueryModel" /> represents an identity query. An identity query is a query without any body clauses
            whose <see cref="P:Remotion.Data.Linq.QueryModel.SelectClause" /> selects exactly the items produced by its <see cref="P:Remotion.Data.Linq.QueryModel.MainFromClause" />. An identity query can have
            <see cref="P:Remotion.Data.Linq.QueryModel.ResultOperators" />.
            </summary></member><member name="P:Remotion.Data.Linq.QueryModel.MainFromClause"><summary>
            Gets or sets the query's <see cref="T:Remotion.Data.Linq.Clauses.MainFromClause" />. This is the starting point of the query, generating items that are processed by 
            the <see cref="P:Remotion.Data.Linq.QueryModel.BodyClauses" /> and projected or grouped by the <see cref="P:Remotion.Data.Linq.QueryModel.SelectClause" />.
            </summary></member><member name="P:Remotion.Data.Linq.QueryModel.SelectClause"><summary>
            Gets or sets the query's select clause. This is the end point of the query, it defines what is actually returned for each of the 
            items coming from the <see cref="P:Remotion.Data.Linq.QueryModel.MainFromClause" /> and passing the <see cref="P:Remotion.Data.Linq.QueryModel.BodyClauses" />. After it, only the <see cref="P:Remotion.Data.Linq.QueryModel.ResultOperators" />
            modify the result of the query.
            </summary></member><member name="P:Remotion.Data.Linq.QueryModel.BodyClauses"><summary>
            Gets a collection representing the query's body clauses. Body clauses take the items generated by the <see cref="P:Remotion.Data.Linq.QueryModel.MainFromClause" />,
            filtering (<see cref="T:Remotion.Data.Linq.Clauses.WhereClause" />), ordering (<see cref="T:Remotion.Data.Linq.Clauses.OrderByClause" />), augmenting (<see cref="T:Remotion.Data.Linq.Clauses.AdditionalFromClause" />), or otherwise
            processing them before they are passed to the <see cref="P:Remotion.Data.Linq.QueryModel.SelectClause" />.
            </summary></member><member name="P:Remotion.Data.Linq.QueryModel.ResultOperators"><summary>
            Gets the result operators attached to this <see cref="P:Remotion.Data.Linq.QueryModel.SelectClause" />. Result operators modify the query's result set, aggregating,
            filtering, or otherwise processing the result before it is returned.
            </summary></member><member name="T:Remotion.Data.Linq.QueryModelBuilder"><summary>
            Collects clauses and creates a <see cref="T:Remotion.Data.Linq.QueryModel" /> from them. This provides a simple way to first add all the clauses and then
            create the <see cref="T:Remotion.Data.Linq.QueryModel" /> rather than the two-step approach (first <see cref="P:Remotion.Data.Linq.QueryModelBuilder.SelectClause" /> and <see cref="P:Remotion.Data.Linq.QueryModelBuilder.MainFromClause" />,
            then the <see cref="T:Remotion.Data.Linq.Clauses.IBodyClause" />s) required by <see cref="T:Remotion.Data.Linq.QueryModel" />'s constructor.
            </summary></member><member name="T:Remotion.Data.Linq.QueryModelVisitorBase"><summary>
            Provides a default implementation of <see cref="T:Remotion.Data.Linq.IQueryModelVisitor" /> which automatically visits child items. That is, the default 
            implementation of <see cref="M:Remotion.Data.Linq.QueryModelVisitorBase.VisitQueryModel(Remotion.Data.Linq.QueryModel)" /> automatically calls <c>Accept</c> on all clauses in the <see cref="T:Remotion.Data.Linq.QueryModel" />
            and the default implementation of <see cref="M:Remotion.Data.Linq.QueryModelVisitorBase.VisitOrderByClause(Remotion.Data.Linq.Clauses.OrderByClause,Remotion.Data.Linq.QueryModel,System.Int32)" /> automatically calls <see cref="M:Remotion.Data.Linq.Clauses.Ordering.Accept(Remotion.Data.Linq.IQueryModelVisitor,Remotion.Data.Linq.QueryModel,Remotion.Data.Linq.Clauses.OrderByClause,System.Int32)" /> on the 
            <see cref="T:Remotion.Data.Linq.Clauses.Ordering" /> instances in its <see cref="P:Remotion.Data.Linq.Clauses.OrderByClause.Orderings" /> collection, and so on.
            </summary></member><member name="T:Remotion.Data.Linq.UniqueIdentifierGenerator"><summary>
            Generates unique identifiers based on a set of known identifiers.
            An identifier is generated by appending a number to a given prefix. The identifier is considered unique when no known identifier
            exists which equals the prefix/number combination.
            </summary></member><member name="M:Remotion.Data.Linq.UniqueIdentifierGenerator.AddKnownIdentifier(System.String)"><summary>
            Adds the given <paramref name="identifier" /> to the set of known identifiers.
            </summary><param name="identifier">The identifier to add.</param></member><member name="M:Remotion.Data.Linq.UniqueIdentifierGenerator.GetUniqueIdentifier(System.String)"><summary>
            Gets a unique identifier starting with the given <paramref name="prefix" />. The identifier is generating by appending a number to the
            prefix so that the resulting string does not match a known identifier.
            </summary><param name="prefix">The prefix to use for the identifier.</param></member><member name="T:Remotion.Data.Linq.Backend.DetailParsing.WhereConditionParsing.IWhereConditionParser"><summary>
            
            </summary></member><member name="T:Remotion.Data.Linq.Backend.FieldResolving.FieldAccessInfo"><summary>
            Holds information about the members involved in a field access. This is produced by <see cref="T:Remotion.Data.Linq.Backend.FieldResolving.FieldResolverVisitor" /> and 
            used by <see cref="T:Remotion.Data.Linq.Backend.FieldResolving.FieldResolver" />.
            </summary></member><member name="T:Remotion.Data.Linq.Backend.FieldResolving.FieldResolverVisitor"><summary>
            Identifies the query source and members used by a field access expression.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.ExpressionTreeVisitor"><summary>
            Provides a base class that can be used for visiting and optionally transforming each node of an <see cref="T:System.Linq.Expressions.Expression" /> tree in a 
            strongly typed fashion.
            This is the base class of many transformation classes.
            </summary></member><member name="T:Remotion.Data.Linq.Backend.FieldResolving.IResolveFieldAccessPolicy"><summary>
            Defines how members are resolved for a specific resolution use case.
            </summary></member><member name="T:Remotion.Data.Linq.Backend.SqlGeneration.IMethodCallSqlGenerator"><summary>
            This interface has to be implemented, when a new MethodCallGenerator is generated. This generator has to handle method calls which are not
            supported as default by the framework. This generator has to be registered to <see cref="T:Remotion.Data.Linq.Backend.SqlGeneration.MethodCallSqlGeneratorRegistry" />.
            </summary></member><member name="M:Remotion.Data.Linq.Backend.SqlGeneration.IMethodCallSqlGenerator.GenerateSql(Remotion.Data.Linq.Backend.DataObjectModel.MethodCall,Remotion.Data.Linq.Backend.SqlGeneration.ICommandBuilder)"><summary>
            The method has to contain the logic for generating sql code for the method call. 
            </summary><param name="methodCall"><see cref="T:Remotion.Data.Linq.Backend.DataObjectModel.MethodCall" /></param><param name="commandBuilder"><see cref="T:Remotion.Data.Linq.Backend.SqlGeneration.ICommandBuilder" /></param></member><member name="T:Remotion.Data.Linq.Backend.SqlGeneration.ICommandBuilder"><summary>
            This interface has to be implemented for each sql code generation mechanism. It holds the information to generate the sql query.
            </summary></member><member name="T:Remotion.Data.Linq.Backend.IDatabaseInfo"><summary>
            The interface has to be implemented so that the linq provider can use the underlying system to get information of the data source.
            </summary></member><member name="M:Remotion.Data.Linq.Backend.IDatabaseInfo.GetTableName(Remotion.Data.Linq.Clauses.FromClauseBase)"><summary>
            Has to be implemented to get the table name of the given clause.
            </summary><param name="fromClause">The clause identifies the query source.</param></member><member name="M:Remotion.Data.Linq.Backend.IDatabaseInfo.GetRelatedTableName(System.Reflection.MemberInfo)"><summary>
            Has to be implemented to get the table name of the n-side of a relation.
            </summary><param name="relationMember"><see cref="T:System.Reflection.MemberInfo" /></param></member><member name="M:Remotion.Data.Linq.Backend.IDatabaseInfo.GetColumnName(System.Reflection.MemberInfo)"><summary>
            Has to be implemented to get the column name of a given member.
            </summary><param name="member"><see cref="T:System.Reflection.MemberInfo" /></param></member><member name="M:Remotion.Data.Linq.Backend.IDatabaseInfo.GetJoinColumnNames(System.Reflection.MemberInfo)"><summary>
            Has to be implemented to get affected columns of a join.
            </summary><param name="relationMember"><see cref="T:System.Reflection.MemberInfo" /></param></member><member name="M:Remotion.Data.Linq.Backend.IDatabaseInfo.ProcessWhereParameter(System.Object)"><summary>
            Has to be implemented to get value of a parameter in a where condition.
            </summary><param name="parameter">The parameter in a where condition.</param></member><member name="M:Remotion.Data.Linq.Backend.IDatabaseInfo.GetPrimaryKeyMember(System.Type)"><summary>
            Has to be implemented to get primary key member of a given entity.
            </summary><param name="entityType">The type of the queried entity.</param></member><member name="M:Remotion.Data.Linq.Backend.IDatabaseInfo.IsTableType(System.Type)"><summary>
            Has to be implemented to check whether a given type is a table.
            </summary><param name="type">The type of a queried entity.</param></member><member name="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression"><summary>
            Represents an expression tree node that points to a query source represented by a <see cref="T:Remotion.Data.Linq.Clauses.FromClauseBase" />. These expressions should always
            point back, to a clause defined prior to the clause holding a <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" />. Otherwise, exceptions might be 
            thrown at runtime.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression.Equals(System.Object)"><summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> by 
            comparing the <see cref="P:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression.ReferencedQuerySource" /> properties for reference equality.
            </summary><param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" />.</param></member><member name="P:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression.ReferencedQuerySource"><summary>
            Gets the query source referenced by this expression.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.Expressions.SubQueryExpression"><summary>
            Represents an <see cref="T:System.Linq.Expressions.Expression" /> that holds a subquery. The subquery is held by <see cref="P:Remotion.Data.Linq.Clauses.Expressions.SubQueryExpression.QueryModel" /> in its parsed form.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.ExpressionTreeVisitors.AccessorFindingExpressionTreeVisitor"><summary>
            Constructs a <see cref="T:System.Linq.Expressions.LambdaExpression" /> that is able to extract a specific simple expression from a complex <see cref="T:System.Linq.Expressions.NewExpression" />
            or <see cref="T:System.Linq.Expressions.MemberInitExpression" />.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ExpressionTreeVisitors.AccessorFindingExpressionTreeVisitor.FindAccessorLambda(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.ParameterExpression)"><summary>
            Constructs a <see cref="T:System.Linq.Expressions.LambdaExpression" /> that is able to extract a specific simple <paramref name="searchedExpression" /> from a 
            complex <paramref name="fullExpression" />.
            </summary><param name="searchedExpression">The expression an accessor to which should be created.</param><param name="fullExpression">The full expression containing the <paramref name="searchedExpression" />.</param><param name="inputParameter">The input parameter to be used by the resulting lambda. Its type must match the type of <paramref name="fullExpression" />.</param></member><member name="T:Remotion.Data.Linq.Clauses.ExpressionTreeVisitors.CloningExpressionTreeVisitor"><summary>
            Visits an <see cref="T:System.Linq.Expressions.Expression" /> tree, replacing all <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> instances with references to cloned clauses,
            as defined by a <see cref="T:Remotion.Data.Linq.Clauses.QuerySourceMapping" />. In addition, all <see cref="T:Remotion.Data.Linq.QueryModel" /> instances in 
            <see cref="T:Remotion.Data.Linq.Clauses.Expressions.SubQueryExpression">SubQueryExpressions</see> are cloned, and their references also replaces. All referenced clauses must be mapped
            to cloned clauses in the given <see cref="T:Remotion.Data.Linq.Clauses.QuerySourceMapping" />, otherwise an expression is thrown. This is used by <see cref="M:Remotion.Data.Linq.QueryModel.Clone" />
            to adjust references to the old <see cref="T:Remotion.Data.Linq.QueryModel" /> with references to the new <see cref="T:Remotion.Data.Linq.QueryModel" />.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.ExpressionTreeVisitors.ReferenceReplacingExpressionTreeVisitor"><summary>
            Takes an expression and replaces all <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> instances, as defined by a given <see cref="P:Remotion.Data.Linq.Clauses.ExpressionTreeVisitors.ReferenceReplacingExpressionTreeVisitor.QuerySourceMapping" />.
            This is used whenever references to query sources should be replaced by a transformation.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ExpressionTreeVisitors.ReferenceReplacingExpressionTreeVisitor.ReplaceClauseReferences(System.Linq.Expressions.Expression,Remotion.Data.Linq.Clauses.QuerySourceMapping,System.Boolean)"><summary>
            Takes an expression and replaces all <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> instances, as defined by a given 
            <paramref name="querySourceMapping" />.
            </summary><param name="expression">The expression to be scanned for references.</param><param name="querySourceMapping">The clause mapping to be used for replacing <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> instances.</param><param name="throwOnUnmappedReferences">If <see langword="true" />, the visitor will throw an exception when 
            <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> not mapped in the <paramref name="querySourceMapping" /> is encountered. If <see langword="false" />,
            the visitor will ignore such expressions.</param></member><member name="M:Remotion.Data.Linq.Clauses.ExpressionTreeVisitors.CloningExpressionTreeVisitor.AdjustExpressionAfterCloning(System.Linq.Expressions.Expression,Remotion.Data.Linq.Clauses.QuerySourceMapping)"><summary>
            Adjusts the given expression for cloning, that is replaces <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> and <see cref="T:Remotion.Data.Linq.Clauses.Expressions.SubQueryExpression" /> 
            instances. All referenced clauses must be mapped to clones in the given <paramref name="querySourceMapping" />, otherwise an exception is thrown.
            </summary><param name="expression">The expression to be adjusted.</param><param name="querySourceMapping">The clause mapping to be used for replacing <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> instances.</param></member><member name="T:Remotion.Data.Linq.Clauses.ExpressionTreeVisitors.FormattingExpressionTreeVisitor"><summary>
            Transforms an expression tree into a human-readable string, taking all the custom expression nodes into account.
            It does so by replacing all instances of custom expression nodes by parameters that have the desired string as their names. This is done
            to circumvent a limitation in the <see cref="T:System.Linq.Expressions.Expression" /> class, where overriding <see cref="M:System.Linq.Expressions.Expression.ToString" /> in custom expressions
            will not work.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.ExpressionTreeVisitors.ReverseResolvingExpressionTreeVisitor"><summary>
            Performs a reverse <see cref="M:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode.Resolve(System.Linq.Expressions.ParameterExpression,System.Linq.Expressions.Expression,Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext)" /> operation, i.e. creates a <see cref="T:System.Linq.Expressions.LambdaExpression" /> from a given resolved expression, 
            substituting all <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> objects by getting the referenced objects from the lambda's input parameter.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ExpressionTreeVisitors.ReverseResolvingExpressionTreeVisitor.ReverseResolve(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression)"><summary>
            Performs a reverse <see cref="M:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode.Resolve(System.Linq.Expressions.ParameterExpression,System.Linq.Expressions.Expression,Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext)" /> operation, i.e. creates a <see cref="T:System.Linq.Expressions.LambdaExpression" /> from a given resolved expression, 
            substituting all <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> objects by getting the referenced objects from the lambda's input parameter.
            </summary><param name="itemExpression">The item expression representing the items passed to the generated <see cref="T:System.Linq.Expressions.LambdaExpression" /> via its input 
            parameter.</param><param name="resolvedExpression">The resolved expression for which to generate a reverse resolved <see cref="T:System.Linq.Expressions.LambdaExpression" />.</param></member><member name="M:Remotion.Data.Linq.Clauses.ExpressionTreeVisitors.ReverseResolvingExpressionTreeVisitor.ReverseResolveLambda(System.Linq.Expressions.Expression,System.Linq.Expressions.LambdaExpression,System.Int32)"><summary>
            Performs a reverse <see cref="M:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode.Resolve(System.Linq.Expressions.ParameterExpression,System.Linq.Expressions.Expression,Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext)" /> operation on a <see cref="T:System.Linq.Expressions.LambdaExpression" />, i.e. creates a new 
            <see cref="T:System.Linq.Expressions.LambdaExpression" /> with an additional parameter from a given resolved <see cref="T:System.Linq.Expressions.LambdaExpression" />, 
            substituting all <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> objects by getting the referenced objects from the new input parameter.
            </summary><param name="itemExpression">The item expression representing the items passed to the generated <see cref="T:System.Linq.Expressions.LambdaExpression" /> via its new
            input parameter.</param><param name="resolvedExpression">The resolved <see cref="T:System.Linq.Expressions.LambdaExpression" /> for which to generate a reverse resolved <see cref="T:System.Linq.Expressions.LambdaExpression" />.</param><param name="parameterInsertionPosition">The position at which to insert the new parameter.</param></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.AggregateFromSeedResultOperator"><summary>
            Represents aggregating the items returned by a query into a single value with an initial seeding value.
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.ValueFromSequenceResultOperatorBase"><summary>
            Represents a <see cref="T:Remotion.Data.Linq.Clauses.ResultOperatorBase" /> that is executed on a sequence, returning a scalar value or single item as its result.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperatorBase"><summary>
            Represents an operation that is executed on the result set of the query, aggregating, filtering, or restricting the number of result items
            before the query result is returned.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperatorBase.ExecuteInMemory(Remotion.Data.Linq.Clauses.StreamedData.IStreamedData)"><summary>
            Executes this result operator in memory, on a given input. Executing result operators in memory should only be 
            performed if the target query system does not support the operator.
            </summary><param name="input">The input for the result operator. This must match the type of <see cref="T:Remotion.Data.Linq.Clauses.StreamedData.IStreamedData" /> expected by the operator.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperatorBase.GetOutputDataInfo(Remotion.Data.Linq.Clauses.StreamedData.IStreamedDataInfo)"><summary>
            Gets information about the data streamed out of this <see cref="T:Remotion.Data.Linq.Clauses.ResultOperatorBase" />. This contains the result type a query would have if 
            it ended with this <see cref="T:Remotion.Data.Linq.Clauses.ResultOperatorBase" />, and it optionally includes an <see cref="P:Remotion.Data.Linq.Clauses.StreamedData.StreamedSequenceInfo.ItemExpression" /> describing
            the streamed sequence's items.
            </summary><param name="inputInfo">Information about the data produced by the preceding <see cref="T:Remotion.Data.Linq.Clauses.ResultOperatorBase" />, or the <see cref="T:Remotion.Data.Linq.Clauses.SelectClause" />
            of the query if no previous <see cref="T:Remotion.Data.Linq.Clauses.ResultOperatorBase" /> exists.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperatorBase.Clone(Remotion.Data.Linq.Clauses.CloneContext)"><summary>
            Clones this item, registering its clone with the <paramref name="cloneContext" /> if it is a query source clause.
            </summary><param name="cloneContext">The clones of all query source clauses are registered with this <see cref="T:Remotion.Data.Linq.Clauses.CloneContext" />.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperatorBase.Accept(Remotion.Data.Linq.IQueryModelVisitor,Remotion.Data.Linq.QueryModel,System.Int32)"><summary>
            Accepts the specified visitor by calling its <see cref="M:Remotion.Data.Linq.IQueryModelVisitor.VisitResultOperator(Remotion.Data.Linq.Clauses.ResultOperatorBase,Remotion.Data.Linq.QueryModel,System.Int32)" /> method.
            </summary><param name="visitor">The visitor to accept.</param><param name="queryModel">The query model in whose context this clause is visited.</param><param name="index">The index of this item in the <paramref name="queryModel" />'s <see cref="P:Remotion.Data.Linq.QueryModel.ResultOperators" /> collection.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperatorBase.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"><summary>
            Transforms all the expressions in this item via the given <paramref name="transformation" /> delegate. Subclasses must apply the 
            <paramref name="transformation" /> to any expressions they hold. If a subclass does not hold any expressions, it shouldn't do anything
            in the implementation of this method.
            </summary><param name="transformation">The transformation object. This delegate is called for each <see cref="T:System.Linq.Expressions.Expression" /> within this
            item, and those expressions will be replaced with what the delegate returns.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperatorBase.InvokeGenericExecuteMethod``2(Remotion.Data.Linq.Clauses.StreamedData.IStreamedData,System.Func{``0,``1})"><summary>
             Invokes a given generic method on an <see cref="T:Remotion.Data.Linq.Clauses.StreamedData.IStreamedData" /> input via Reflection. Use this to implement 
             <see cref="M:Remotion.Data.Linq.Clauses.ResultOperatorBase.ExecuteInMemory(Remotion.Data.Linq.Clauses.StreamedData.IStreamedData)" /> by defining a strongly typed, generic variant 
             of <see cref="M:Remotion.Data.Linq.Clauses.ResultOperatorBase.ExecuteInMemory(Remotion.Data.Linq.Clauses.StreamedData.IStreamedData)" />; then invoke that strongly typed 
             variant via  <see cref="M:Remotion.Data.Linq.Clauses.ResultOperatorBase.InvokeGenericExecuteMethod``2(Remotion.Data.Linq.Clauses.StreamedData.IStreamedData,System.Func{``0,``1})" />.
             </summary><param name="input">The input <see cref="T:Remotion.Data.Linq.Clauses.StreamedData.IStreamedData" /> object to invoke the method on..</param><param name="genericExecuteCaller">A delegate holding exactly one public generic method with exactly one generic argument. This method is
             called via Reflection on the given <paramref name="input" /> argument.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperatorBase.InvokeExecuteMethod(System.Reflection.MethodInfo,System.Object)"><summary>
            Invokes the given <paramref name="method" /> via reflection on the given <paramref name="input" />.
            </summary><param name="input">The input to invoke the method with.</param><param name="method">The method to be invoked.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperatorBase.CheckSequenceItemType(Remotion.Data.Linq.Clauses.StreamedData.StreamedSequenceInfo,System.Type)"><summary>
            Checks the type of the items retrieved by the sequence, throwing an <see cref="T:Remotion.Data.Linq.Utilities.ArgumentTypeException" /> if the items don't match the
            expected type.
            </summary><param name="sequenceInfo">The <see cref="T:Remotion.Data.Linq.Clauses.StreamedData.StreamedSequenceInfo" /> object describing the sequence.</param><param name="expectedItemType">The expected item type.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperatorBase.GetConstantValueFromExpression``1(System.String,System.Linq.Expressions.Expression)"><summary>
            Gets the constant value of the given expression, assuming it is a <see cref="T:System.Linq.Expressions.ConstantExpression" />. If it is
            not, an <see cref="T:System.InvalidOperationException" /> is thrown.
            </summary><param name="expressionName">A string describing the value; this will be included in the exception message if an exception is thrown.</param><param name="expression">The expression whose value to get.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AggregateFromSeedResultOperator.#ctor(System.Linq.Expressions.Expression,System.Linq.Expressions.LambdaExpression,System.Linq.Expressions.LambdaExpression)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.AggregateFromSeedResultOperator" /> class.
            </summary><param name="seed">The seed expression.</param><param name="func">The aggregating function. This is a <see cref="T:System.Linq.Expressions.LambdaExpression" /> taking a parameter that represents the value accumulated so 
            far and returns a new accumulated value. This is a resolved expression, i.e. items streaming in from prior clauses and result operators
            are represented as expressions containing <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> nodes.</param><param name="optionalResultSelector">The result selector, can be <see langword="null" />.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AggregateFromSeedResultOperator.GetConstantSeed``1"><summary>
            Gets the constant value of the <see cref="P:Remotion.Data.Linq.Clauses.ResultOperators.AggregateFromSeedResultOperator.Seed" /> property, assuming it is a <see cref="T:System.Linq.Expressions.ConstantExpression" />. If it is
            not, an <see cref="T:System.InvalidOperationException" /> is thrown.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AggregateFromSeedResultOperator.ExecuteInMemory``1(Remotion.Data.Linq.Clauses.StreamedData.StreamedSequence)"></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AggregateFromSeedResultOperator.ExecuteAggregateInMemory``3(Remotion.Data.Linq.Clauses.StreamedData.StreamedSequence)"><summary>
            Executes the aggregating operation in memory.
            </summary><param name="input">The input sequence.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AggregateFromSeedResultOperator.Clone(Remotion.Data.Linq.Clauses.CloneContext)"></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AggregateFromSeedResultOperator.GetOutputDataInfo(Remotion.Data.Linq.Clauses.StreamedData.IStreamedDataInfo)"></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AggregateFromSeedResultOperator.ToString"></member><member name="P:Remotion.Data.Linq.Clauses.ResultOperators.AggregateFromSeedResultOperator.Func"><summary>
            Gets or sets the aggregating function. This is a <see cref="T:System.Linq.Expressions.LambdaExpression" /> taking a parameter that represents the value accumulated so 
            far and returns a new accumulated value. This is a resolved expression, i.e. items streaming in from prior clauses and result operators
            are represented as expressions containing <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> nodes.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.ResultOperators.AggregateFromSeedResultOperator.Seed"><summary>
            Gets or sets the seed of the accumulation. This is an <see cref="T:System.Linq.Expressions.Expression" /> denoting the starting value of the aggregation.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.ResultOperators.AggregateFromSeedResultOperator.OptionalResultSelector"><summary>
            Gets or sets the result selector. This is a <see cref="T:System.Linq.Expressions.LambdaExpression" /> applied after the aggregation to select the final value.
            Can be <see langword="null" />.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.AggregateResultOperator"><summary>
            Represents aggregating the items returned by a query into a single value. The first item is used as the seeding value for the aggregating 
            function.
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AggregateResultOperator.#ctor(System.Linq.Expressions.LambdaExpression)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.AggregateResultOperator" /> class.
            </summary><param name="func">The aggregating function. This is a <see cref="T:System.Linq.Expressions.LambdaExpression" /> taking a parameter that represents the value accumulated so 
            far and returns a new accumulated value. This is a resolved expression, i.e. items streaming in from prior clauses and result operators
            are represented as expressions containing <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> nodes.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AggregateResultOperator.ExecuteInMemory``1(Remotion.Data.Linq.Clauses.StreamedData.StreamedSequence)"></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AggregateResultOperator.Clone(Remotion.Data.Linq.Clauses.CloneContext)"></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AggregateResultOperator.GetOutputDataInfo(Remotion.Data.Linq.Clauses.StreamedData.IStreamedDataInfo)"></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AggregateResultOperator.ToString"></member><member name="P:Remotion.Data.Linq.Clauses.ResultOperators.AggregateResultOperator.Func"><summary>
            Gets or sets the aggregating function. This is a <see cref="T:System.Linq.Expressions.LambdaExpression" /> taking a parameter that represents the value accumulated so 
            far and returns a new accumulated value. This is a resolved expression, i.e. items streaming in from prior clauses and result operators
            are represented as expressions containing <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> nodes.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.AllResultOperator"><summary>
            Represents a check whether all items returned by a query satisfy a predicate.
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AllResultOperator.#ctor(System.Linq.Expressions.Expression)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.AllResultOperator" /> class.
            </summary><param name="predicate">The predicate to evaluate. This is a resolved version of the body of the <see cref="T:System.Linq.Expressions.LambdaExpression" /> that would be 
            passed to <see cref="M:System.Linq.Queryable.All``1(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})" />.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AllResultOperator.ExecuteInMemory``1(Remotion.Data.Linq.Clauses.StreamedData.StreamedSequence)"></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AllResultOperator.Clone(Remotion.Data.Linq.Clauses.CloneContext)"></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AllResultOperator.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AllResultOperator.GetOutputDataInfo(Remotion.Data.Linq.Clauses.StreamedData.IStreamedDataInfo)"></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AllResultOperator.ToString"></member><member name="P:Remotion.Data.Linq.Clauses.ResultOperators.AllResultOperator.Predicate"><summary>
            Gets or sets the predicate to evaluate on all items in the sequence.
            This is a resolved version of the body of the <see cref="T:System.Linq.Expressions.LambdaExpression" /> that would be 
            passed to <see cref="M:System.Linq.Queryable.All``1(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})" />.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.AnyResultOperator"><summary>
            Represents a check whether any items are returned by a query.
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AnyResultOperator.ExecuteInMemory``1(Remotion.Data.Linq.Clauses.StreamedData.StreamedSequence)"></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AnyResultOperator.Clone(Remotion.Data.Linq.Clauses.CloneContext)"></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AnyResultOperator.GetOutputDataInfo(Remotion.Data.Linq.Clauses.StreamedData.IStreamedDataInfo)"></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AnyResultOperator.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AnyResultOperator.ToString"></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.AverageResultOperator"><summary>
            Represents a calculation of an average value from the items returned by a query.
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.AverageResultOperator.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.CastResultOperator"><summary>
            Represents a cast of the items returned by a query to a different type.
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.SequenceFromSequenceResultOperatorBase"><summary>
            Represents a <see cref="T:Remotion.Data.Linq.Clauses.ResultOperatorBase" /> that is executed on a sequence, returning a new sequence as its result.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.CastResultOperator.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.ChoiceResultOperatorBase"><summary>
            Represents a <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.ValueFromSequenceResultOperatorBase" /> that is executed on a sequence, choosing a single item for its result.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.ContainsResultOperator"><summary>
            Represents a check whether the results returned by a query contain a specific item.
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.ContainsResultOperator.#ctor(System.Linq.Expressions.Expression)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.ContainsResultOperator" /> class.
            </summary><param name="item">The item for which to be searched.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.ContainsResultOperator.GetConstantItem``1"><summary>
            Gets the constant value of the <see cref="P:Remotion.Data.Linq.Clauses.ResultOperators.ContainsResultOperator.Item" /> property, assuming it is a <see cref="T:System.Linq.Expressions.ConstantExpression" />. If it is
            not, an <see cref="T:System.InvalidOperationException" /> is thrown.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.ResultOperators.ContainsResultOperator.Item"><summary>
            Gets or sets an expression yielding the item for which to be searched.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.CountResultOperator"><summary>
            Represents counting the number of items returned by a query.
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.CountResultOperator.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.DefaultIfEmptyResultOperator"><summary>
            Represents a guard clause yielding a singleton sequence with a default value if no items are returned by a query.
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.SequenceTypePreservingResultOperatorBase"><summary>
            Represents a <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.SequenceFromSequenceResultOperatorBase" /> that is executed on a sequence, returning a new sequence with the same
            item type as its result.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.DefaultIfEmptyResultOperator.GetConstantOptionalDefaultValue"><summary>
            Gets the constant <see cref="T:System.Object" /> value of the <see cref="P:Remotion.Data.Linq.Clauses.ResultOperators.DefaultIfEmptyResultOperator.OptionalDefaultValue" /> property, assuming it is a <see cref="T:System.Linq.Expressions.ConstantExpression" />. If it is
            not, an expression is thrown. If it is <see langword="null" />, <see langword="null" /> is returned.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.ResultOperators.DefaultIfEmptyResultOperator.OptionalDefaultValue"><summary>
            Gets or sets the optional default value.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.DistinctResultOperator"><summary>
            Represents the removal of duplicate values from the items returned by a query.
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.DistinctResultOperator.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.ExceptResultOperator"><summary>
            Represents the removal of a given set of items from the result set of a query.
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.ExceptResultOperator.GetConstantSource2"><summary>
            Gets the value of <see cref="P:Remotion.Data.Linq.Clauses.ResultOperators.ExceptResultOperator.Source2" />, assuming <see cref="P:Remotion.Data.Linq.Clauses.ResultOperators.ExceptResultOperator.Source2" /> holds a <see cref="T:System.Linq.Expressions.ConstantExpression" />. If it doesn't,
            an exception is thrown.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.ResultOperators.ExceptResultOperator.Source2"><summary>
            Gets or sets the second source of this result operator, that is, an enumerable containing the items removed from the input sequence.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.FirstResultOperator"><summary>
            Represents taking only the first of the items returned by a query.
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.FirstResultOperator.#ctor(System.Boolean)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.DistinctResultOperator" />.
            </summary><param name="returnDefaultWhenEmpty">The flag defines if a default expression should be regarded.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.FirstResultOperator.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.GroupResultOperator"><summary>
            Represents grouping the items returned by a query according to some key retrieved by a <see cref="P:Remotion.Data.Linq.Clauses.ResultOperators.GroupResultOperator.KeySelector" />, applying by an 
            <see cref="P:Remotion.Data.Linq.Clauses.ResultOperators.GroupResultOperator.ElementSelector" /> to the grouped items. This is a result operator, operating on the whole result set of the query.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.IQuerySource"><summary>
            Represents a clause or result operator that generates items which are streamed to the following clauses or operators.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.IQuerySource.ItemName"><summary>
            Gets the name of the items generated by this <see cref="T:Remotion.Data.Linq.Clauses.IQuerySource" />.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.IQuerySource.ItemType"><summary>
            Gets the type of the items generated by this <see cref="T:Remotion.Data.Linq.Clauses.IQuerySource" />.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.GroupResultOperator.#ctor(System.String,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.GroupResultOperator" /> class.
            </summary><param name="itemName">A name associated with the <see cref="T:System.Linq.IGrouping`2" /> items generated by the result operator.</param><param name="keySelector">The selector retrieving the key by which to group items.</param><param name="elementSelector">The selector retrieving the elements to group.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.GroupResultOperator.Clone(Remotion.Data.Linq.Clauses.CloneContext)"><summary>
            Clones this clause, adjusting all <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> instances held by it as defined by
            <paramref name="cloneContext" />.
            </summary><param name="cloneContext">The clones of all query source clauses are registered with this <see cref="T:Remotion.Data.Linq.Clauses.CloneContext" />.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.GroupResultOperator.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"><summary>
            Transforms all the expressions in this clause and its child objects via the given <paramref name="transformation" /> delegate.
            </summary><param name="transformation">The transformation object. This delegate is called for each <see cref="T:System.Linq.Expressions.Expression" /> within this
            clause, and those expressions will be replaced with what the delegate returns.</param></member><member name="P:Remotion.Data.Linq.Clauses.ResultOperators.GroupResultOperator.ItemName"><summary>
            Gets or sets the name of the items generated by this <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.GroupResultOperator" />.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.ResultOperators.GroupResultOperator.ItemType"><summary>
            Gets or sets the type of the items generated by this <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.GroupResultOperator" />. The item type is an instantiation of 
            <see cref="T:System.Linq.IGrouping`2" /> derived from the types of <see cref="P:Remotion.Data.Linq.Clauses.ResultOperators.GroupResultOperator.KeySelector" /> and <see cref="P:Remotion.Data.Linq.Clauses.ResultOperators.GroupResultOperator.ElementSelector" />.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.ResultOperators.GroupResultOperator.KeySelector"><summary>
            Gets or sets the selector retrieving the key by which to group items.
            This is a resolved version of the body of the <see cref="T:System.Linq.Expressions.LambdaExpression" /> that would be 
            passed to <see cref="M:System.Linq.Queryable.GroupBy``3(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.Linq.Expressions.Expression{System.Func{``0,``2}})" />.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.ResultOperators.GroupResultOperator.ElementSelector"><summary>
            Gets or sets the selector retrieving the elements to group.
            This is a resolved version of the body of the <see cref="T:System.Linq.Expressions.LambdaExpression" /> that would be 
            passed to <see cref="M:System.Linq.Queryable.GroupBy``3(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.Linq.Expressions.Expression{System.Func{``0,``2}})" />.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.IntersectResultOperator"><summary>
            Represents taking the mathematical intersection of a given set of items and the items returned by a query. 
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.IntersectResultOperator.GetConstantSource2"><summary>
            Gets the value of <see cref="P:Remotion.Data.Linq.Clauses.ResultOperators.IntersectResultOperator.Source2" />, assuming <see cref="P:Remotion.Data.Linq.Clauses.ResultOperators.IntersectResultOperator.Source2" /> holds a <see cref="T:System.Linq.Expressions.ConstantExpression" />. If it doesn't,
            an Intersection is thrown.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.ResultOperators.IntersectResultOperator.Source2"><summary>
            Gets or sets the second source of this result operator, that is, an enumerable containing the items intersected with the input sequence.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.LastResultOperator"><summary>
            Represents taking only the last one of the items returned by a query. 
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.LastResultOperator.#ctor(System.Boolean)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.LastResultOperator" />.
            </summary><param name="returnDefaultWhenEmpty">The flag defines if a default expression should be regarded.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.LastResultOperator.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.LongCountResultOperator"><summary>
            Represents counting the number of items returned by a query as a 64-bit number.
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.LongCountResultOperator.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.MaxResultOperator"><summary>
            Represents taking only the greatest one of the items returned by a query.
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.MaxResultOperator.#ctor"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.MaxResultOperator" />.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.MaxResultOperator.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.MinResultOperator"><summary>
            Represents taking only the smallest one of the items returned by a query.
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.MinResultOperator.#ctor"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.MinResultOperator" />.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.MinResultOperator.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.OfTypeResultOperator"><summary>
            Represents filtering the items returned by a query to only return those items that are of a specific type. 
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.OfTypeResultOperator.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.ReverseResultOperator"><summary>
            Represents reversing the sequence of items returned by of a query. 
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.ReverseResultOperator.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.SingleResultOperator"><summary>
            Represents taking the single item returned by a query.
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.SingleResultOperator.#ctor(System.Boolean)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.SingleResultOperator" />.
            </summary><param name="returnDefaultWhenEmpty">The flag defines if a default expression should be regarded.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.SingleResultOperator.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.SkipResultOperator"><summary>
            Represents skipping a number of the items returned by a query.
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.SkipResultOperator.GetConstantCount"><summary>
            Gets the constant <see cref="T:System.Int32" /> value of the <see cref="P:Remotion.Data.Linq.Clauses.ResultOperators.SkipResultOperator.Count" /> property, assuming it is a <see cref="T:System.Linq.Expressions.ConstantExpression" />. If it is
            not, an expression is thrown.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.SumResultOperator"><summary>
            Represents calculating the sum of the items returned by a query. 
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.SumResultOperator.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.TakeResultOperator"><summary>
            Represents taking only a specific number of items returned by a query. 
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.TakeResultOperator.#ctor(System.Linq.Expressions.Expression)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.TakeResultOperator" />.
            </summary><param name="count">The number of elements which should be returned.</param></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.TakeResultOperator.GetConstantCount"><summary>
            Gets the constant <see cref="T:System.Int32" /> value of the <see cref="P:Remotion.Data.Linq.Clauses.ResultOperators.TakeResultOperator.Count" /> property, assuming it is a <see cref="T:System.Linq.Expressions.ConstantExpression" />. If it is
            not, an expression is thrown.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.ResultOperators.UnionResultOperator"><summary>
            Represents forming the mathematical union of  a given set of items and the items returned by a query. 
            This is a result operator, operating on the whole result set of a query.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.ResultOperators.UnionResultOperator.GetConstantSource2"><summary>
            Gets the value of <see cref="P:Remotion.Data.Linq.Clauses.ResultOperators.UnionResultOperator.Source2" />, assuming <see cref="P:Remotion.Data.Linq.Clauses.ResultOperators.UnionResultOperator.Source2" /> holds a <see cref="T:System.Linq.Expressions.ConstantExpression" />. If it doesn't,
            an Exception is thrown.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.ResultOperators.UnionResultOperator.Source2"><summary>
            Gets or sets the second source of this result operator, that is, an enumerable containing the items united with the input sequence.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.StreamedData.IStreamedData"><summary>
            Holds the data needed to represent the output or input of a part of a query in memory. This is mainly used for 
            <see cref="M:Remotion.Data.Linq.Clauses.ResultOperatorBase.ExecuteInMemory(Remotion.Data.Linq.Clauses.StreamedData.IStreamedData)" />. The data held by implementations of this interface can be either a value or a sequence.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.StreamedData.IStreamedData.DataInfo"><summary>
            Gets an object describing the data held by this <see cref="T:Remotion.Data.Linq.Clauses.StreamedData.IStreamedData" /> instance.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.StreamedData.IStreamedData.Value"><summary>
            Gets the value held by this <see cref="T:Remotion.Data.Linq.Clauses.StreamedData.IStreamedData" /> instance.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.StreamedData.IStreamedDataInfo"><summary>
            Describes the data streamed out of a <see cref="T:Remotion.Data.Linq.QueryModel" /> or <see cref="T:Remotion.Data.Linq.Clauses.ResultOperatorBase" />.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.StreamedData.IStreamedDataInfo.MakeClosedGenericExecuteMethod(System.Reflection.MethodInfo)"><summary>
            Takes the given <paramref name="genericMethodDefinition" /> and instantiates it, substituting its generic parameter with the value
            or item type of the data described by this object. The method must have exactly one generic parameter.
            </summary><param name="genericMethodDefinition">The generic method definition to instantiate.</param></member><member name="M:Remotion.Data.Linq.Clauses.StreamedData.IStreamedDataInfo.ExecuteQueryModel(Remotion.Data.Linq.QueryModel,Remotion.Data.Linq.IQueryExecutor)"><summary>
            Executes the specified <see cref="T:Remotion.Data.Linq.QueryModel" /> with the given <see cref="T:Remotion.Data.Linq.IQueryExecutor" />, calling either 
            <see cref="M:Remotion.Data.Linq.IQueryExecutor.ExecuteScalar``1(Remotion.Data.Linq.QueryModel)" /> or <see cref="M:Remotion.Data.Linq.IQueryExecutor.ExecuteCollection``1(Remotion.Data.Linq.QueryModel)" />, depending on the type of data streamed
            from this interface.
            </summary><param name="queryModel">The query model to be executed.</param><param name="executor">The executor to use.</param></member><member name="P:Remotion.Data.Linq.Clauses.StreamedData.IStreamedDataInfo.DataType"><summary>
            Gets the type of the data described by this <see cref="T:Remotion.Data.Linq.Clauses.StreamedData.IStreamedDataInfo" /> instance. For a sequence, this is a type implementing 
            <see cref="T:System.Collections.Generic.IEnumerable`1" />, where <c>T</c> is instantiated with a concrete type. For a single value, this is the value type.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.StreamedData.StreamedScalarValueInfo"><summary>
            Describes a scalar value streamed out of a <see cref="T:Remotion.Data.Linq.QueryModel" /> or <see cref="T:Remotion.Data.Linq.Clauses.ResultOperatorBase" />. A scalar value corresponds to a
            value calculated from the result set, as produced by <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.CountResultOperator" /> or <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.ContainsResultOperator" />, for instance.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.StreamedData.StreamedValueInfo"><summary>
            Describes a single or scalar value streamed out of a <see cref="T:Remotion.Data.Linq.QueryModel" /> or <see cref="T:Remotion.Data.Linq.Clauses.ResultOperatorBase" />.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.StreamedData.StreamedValueInfo.MakeClosedGenericExecuteMethod(System.Reflection.MethodInfo)"><summary>
            Takes the given <paramref name="genericMethodDefinition" /> and instantiates it, substituting its generic parameter with the value
            type of the value held by this object. The method must have exactly one generic parameter.
            </summary><param name="genericMethodDefinition">The generic method definition to instantiate.</param></member><member name="P:Remotion.Data.Linq.Clauses.StreamedData.StreamedValueInfo.DataType"><summary>
            Gets the type of the data described by this <see cref="T:Remotion.Data.Linq.Clauses.StreamedData.IStreamedDataInfo" /> instance. This is the type of the streamed value, or 
            <see cref="T:System.Object" /> if the value is <see langword="null" />.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.StreamedData.StreamedSequence"><summary>
            Holds the data needed to represent the output or input of a part of a query in memory. This is mainly used for 
            <see cref="M:Remotion.Data.Linq.Clauses.ResultOperatorBase.ExecuteInMemory(Remotion.Data.Linq.Clauses.StreamedData.IStreamedData)" />.  The data consists of a sequence of items.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.StreamedData.StreamedSequence.#ctor(System.Collections.IEnumerable,Remotion.Data.Linq.Clauses.StreamedData.StreamedSequenceInfo)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.StreamedData.StreamedSequence" /> class, setting the <see cref="P:Remotion.Data.Linq.Clauses.StreamedData.StreamedSequence.Sequence" /> and 
            <see cref="P:Remotion.Data.Linq.Clauses.StreamedData.StreamedSequence.DataInfo" /> properties.
            </summary><param name="sequence">The sequence.</param><param name="streamedSequenceInfo">An instance of <see cref="T:Remotion.Data.Linq.Clauses.StreamedData.StreamedSequenceInfo" /> describing the sequence.</param></member><member name="M:Remotion.Data.Linq.Clauses.StreamedData.StreamedSequence.GetTypedSequence``1"><summary>
            Gets the current sequence held by this object as well as an <see cref="T:System.Linq.Expressions.Expression" /> describing the
            sequence's items, throwing an exception if the object does not hold a sequence of items of type <typeparamref name="T" />.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.StreamedData.StreamedSequence.Sequence"><summary>
            Gets the current sequence for the <see cref="M:Remotion.Data.Linq.Clauses.ResultOperatorBase.ExecuteInMemory(Remotion.Data.Linq.Clauses.StreamedData.IStreamedData)" /> operation. If the object is used as input, this 
            holds the input sequence for the operation. If the object is used as output, this holds the result of the operation.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.StreamedData.StreamedSequenceInfo"><summary>
            Describes sequence data streamed out of a <see cref="T:Remotion.Data.Linq.QueryModel" /> or <see cref="T:Remotion.Data.Linq.Clauses.ResultOperatorBase" />. Sequence data can be held by an object
            implementing <see cref="T:System.Collections.Generic.IEnumerable`1" />, and its items are described via a <see cref="P:Remotion.Data.Linq.Clauses.StreamedData.StreamedSequenceInfo.ItemExpression" />.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.StreamedData.StreamedSequenceInfo.MakeClosedGenericExecuteMethod(System.Reflection.MethodInfo)"><summary>
            Takes the given <paramref name="genericMethodDefinition" /> and instantiates it, substituting its generic parameter with the 
            item type of the sequence described by this object. The method must have exactly one generic parameter.
            </summary><param name="genericMethodDefinition">The generic method definition to instantiate.</param></member><member name="P:Remotion.Data.Linq.Clauses.StreamedData.StreamedSequenceInfo.DataType"><summary>
            Gets the type of the data described by this <see cref="T:Remotion.Data.Linq.Clauses.StreamedData.StreamedSequenceInfo" /> instance. This is a type implementing
            <see cref="T:System.Collections.Generic.IEnumerable`1" />, where <c>T</c> is instantiated with a concrete type.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.StreamedData.StreamedSequenceInfo.ItemExpression"><summary>
            Gets an expression that describes the structure of the items held by the sequence described by this object.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.StreamedData.StreamedSingleValueInfo"><summary>
            Describes a single value streamed out of a <see cref="T:Remotion.Data.Linq.QueryModel" /> or <see cref="T:Remotion.Data.Linq.Clauses.ResultOperatorBase" />. A single value corresponds to one
            item from the result set, as produced by <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.FirstResultOperator" /> or <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.SingleResultOperator" />, for instance.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.StreamedData.StreamedValue"><summary>
            Holds the data needed to represent the output or input of a part of a query in memory. This is mainly used for 
            <see cref="M:Remotion.Data.Linq.Clauses.ResultOperatorBase.ExecuteInMemory(Remotion.Data.Linq.Clauses.StreamedData.IStreamedData)" />.  The data is a single, non-sequence value and can only be consumed by result operators 
            working with single values.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.StreamedData.StreamedValue.#ctor(System.Object,Remotion.Data.Linq.Clauses.StreamedData.StreamedValueInfo)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.StreamedData.StreamedValue" /> class, setting the <see cref="P:Remotion.Data.Linq.Clauses.StreamedData.StreamedValue.Value" /> and <see cref="P:Remotion.Data.Linq.Clauses.StreamedData.StreamedValue.DataInfo" /> properties.
            </summary><param name="value">The value.</param><param name="streamedValueInfo">A <see cref="T:Remotion.Data.Linq.Clauses.StreamedData.StreamedValueInfo" /> describing the value.</param></member><member name="M:Remotion.Data.Linq.Clauses.StreamedData.StreamedValue.GetTypedValue``1"><summary>
            Gets the value held by <see cref="P:Remotion.Data.Linq.Clauses.StreamedData.StreamedValue.Value" />, throwing an exception if the value is not of type <typeparamref name="T" />.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.StreamedData.StreamedValue.DataInfo"><summary>
            Gets an object describing the data held by this <see cref="T:Remotion.Data.Linq.Clauses.StreamedData.StreamedValue" /> instance.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.StreamedData.StreamedValue.Value"><summary>
            Gets the current value for the <see cref="M:Remotion.Data.Linq.Clauses.ResultOperatorBase.ExecuteInMemory(Remotion.Data.Linq.Clauses.StreamedData.IStreamedData)" /> operation. If the object is used as input, this 
            holds the input value for the operation. If the object is used as output, this holds the result of the operation.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.AdditionalFromClause"><summary>
            Represents a data source in a query that adds new data items in addition to those provided by the <see cref="T:Remotion.Data.Linq.Clauses.MainFromClause" />.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.FromClauseBase"><summary>
            Base class for from clauses (<see cref="T:Remotion.Data.Linq.Clauses.AdditionalFromClause" /> and <see cref="T:Remotion.Data.Linq.Clauses.MainFromClause" />). From clauses define query sources that
            provide data items to the query which are filtered, ordered, projected, or otherwise processed by the following clauses.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.IClause"><summary>
            Represents a clause within the <see cref="T:Remotion.Data.Linq.QueryModel" />. Implemented by <see cref="T:Remotion.Data.Linq.Clauses.MainFromClause" />, <see cref="T:Remotion.Data.Linq.Clauses.SelectClause" />, 
            <see cref="T:Remotion.Data.Linq.Clauses.IBodyClause" />, and <see cref="T:Remotion.Data.Linq.Clauses.JoinClause" />.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.IClause.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"><summary>
            Transforms all the expressions in this clause and its child objects via the given <paramref name="transformation" /> delegate.
            </summary><param name="transformation">The transformation object. This delegate is called for each <see cref="T:System.Linq.Expressions.Expression" /> within this 
            clause, and those expressions will be replaced with what the delegate returns.</param></member><member name="M:Remotion.Data.Linq.Clauses.FromClauseBase.#ctor(System.String,System.Type,System.Linq.Expressions.Expression)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.FromClauseBase" /> class.
            </summary><param name="itemName">A name describing the items generated by the from clause.</param><param name="itemType">The type of the items generated by the from clause.</param><param name="fromExpression">The <see cref="T:System.Linq.Expressions.Expression" /> generating data items for this from clause.</param></member><member name="M:Remotion.Data.Linq.Clauses.FromClauseBase.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"><summary>
            Transforms all the expressions in this clause and its child objects via the given <paramref name="transformation" /> delegate.
            </summary><param name="transformation">The transformation object. This delegate is called for each <see cref="T:System.Linq.Expressions.Expression" /> within this
            clause, and those expressions will be replaced with what the delegate returns.</param></member><member name="P:Remotion.Data.Linq.Clauses.FromClauseBase.ItemName"><summary>
            Gets or sets a name describing the items generated by this from clause.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.FromClauseBase.ItemType"><summary>
            Gets or sets the type of the items generated by this from clause.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.FromClauseBase.FromExpression"><summary>
            The expression generating the data items for this from clause.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.IBodyClause"><summary>
            Represents a clause in a <see cref="T:Remotion.Data.Linq.QueryModel" />'s <see cref="P:Remotion.Data.Linq.QueryModel.BodyClauses" /> collection. Body clauses take the items generated by 
            the <see cref="P:Remotion.Data.Linq.QueryModel.MainFromClause" />, filtering (<see cref="T:Remotion.Data.Linq.Clauses.WhereClause" />), ordering (<see cref="T:Remotion.Data.Linq.Clauses.OrderByClause" />), augmenting 
            (<see cref="T:Remotion.Data.Linq.Clauses.AdditionalFromClause" />), or otherwise processing them before they are passed to the <see cref="P:Remotion.Data.Linq.QueryModel.SelectClause" />.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.IBodyClause.Accept(Remotion.Data.Linq.IQueryModelVisitor,Remotion.Data.Linq.QueryModel,System.Int32)"><summary>
            Accepts the specified visitor by calling one of its Visit... methods.
            </summary><param name="visitor">The visitor to accept.</param><param name="queryModel">The query model in whose context this clause is visited.</param><param name="index">The index of this clause in the <paramref name="queryModel" />'s <see cref="P:Remotion.Data.Linq.QueryModel.BodyClauses" /> collection.</param></member><member name="M:Remotion.Data.Linq.Clauses.IBodyClause.Clone(Remotion.Data.Linq.Clauses.CloneContext)"><summary>
            Clones this clause, registering its clone with the <paramref name="cloneContext" /> if it is a query source clause.
            </summary><param name="cloneContext">The clones of all query source clauses are registered with this <see cref="T:Remotion.Data.Linq.Clauses.CloneContext" />.</param></member><member name="M:Remotion.Data.Linq.Clauses.AdditionalFromClause.#ctor(System.String,System.Type,System.Linq.Expressions.Expression)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.AdditionalFromClause" /> class.
            </summary><param name="itemName">A name describing the items generated by the from clause.</param><param name="itemType">The type of the items generated by the from clause.</param><param name="fromExpression">The <see cref="T:System.Linq.Expressions.Expression" /> generating the items of this from clause.</param></member><member name="M:Remotion.Data.Linq.Clauses.AdditionalFromClause.Accept(Remotion.Data.Linq.IQueryModelVisitor,Remotion.Data.Linq.QueryModel,System.Int32)"><summary>
            Accepts the specified visitor by calling its <see cref="M:Remotion.Data.Linq.IQueryModelVisitor.VisitAdditionalFromClause(Remotion.Data.Linq.Clauses.AdditionalFromClause,Remotion.Data.Linq.QueryModel,System.Int32)" /> method.
            </summary><param name="visitor">The visitor to accept.</param><param name="queryModel">The query model in whose context this clause is visited.</param><param name="index">The index of this clause in the <paramref name="queryModel" />'s <see cref="P:Remotion.Data.Linq.QueryModel.BodyClauses" /> collection.</param></member><member name="M:Remotion.Data.Linq.Clauses.AdditionalFromClause.Clone(Remotion.Data.Linq.Clauses.CloneContext)"><summary>
            Clones this clause, registering its clone with the <paramref name="cloneContext" />.
            </summary><param name="cloneContext">The clones of all query source clauses are registered with this <see cref="T:Remotion.Data.Linq.Clauses.CloneContext" />.</param></member><member name="T:Remotion.Data.Linq.Clauses.CloneContext"><summary>
            Aggregates all objects needed in the process of cloning a <see cref="T:Remotion.Data.Linq.QueryModel" /> and its clauses.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.CloneContext.QuerySourceMapping"><summary>
            Gets the clause mapping used during the cloning process. This is used to adjust the <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> instances
            of clauses to point to clauses in the cloned <see cref="T:Remotion.Data.Linq.QueryModel" />.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.GroupJoinClause"><summary>
            Represents the join part of a query, adding new data items and joining them with data items from previous clauses. In contrast to 
            <see cref="T:Remotion.Data.Linq.Clauses.JoinClause" />, the <see cref="T:Remotion.Data.Linq.Clauses.GroupJoinClause" /> does not provide access to the individual items of the joined query source.
            Instead, it provides access to all joined items for each item coming from the previous clauses, thus grouping them together. The semantics
            of this join is so that for all input items, a joined sequence is returned. That sequence can be empty if no joined items are available.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.GroupJoinClause.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"><summary>
            Transforms all the expressions in this clause and its child objects via the given <paramref name="transformation" /> delegate.
            </summary><param name="transformation">The transformation object. This delegate is called for each <see cref="T:System.Linq.Expressions.Expression" /> within this
            clause, and those expressions will be replaced with what the delegate returns.</param></member><member name="M:Remotion.Data.Linq.Clauses.GroupJoinClause.Accept(Remotion.Data.Linq.IQueryModelVisitor,Remotion.Data.Linq.QueryModel,System.Int32)"><summary>
            Accepts the specified visitor by calling its <see cref="M:Remotion.Data.Linq.IQueryModelVisitor.VisitGroupJoinClause(Remotion.Data.Linq.Clauses.GroupJoinClause,Remotion.Data.Linq.QueryModel,System.Int32)" /> method.
            </summary><param name="visitor">The visitor to accept.</param><param name="queryModel">The query model in whose context this clause is visited.</param><param name="index">The index of this clause in the <paramref name="queryModel" />'s <see cref="P:Remotion.Data.Linq.QueryModel.BodyClauses" /> collection.</param></member><member name="M:Remotion.Data.Linq.Clauses.GroupJoinClause.Clone(Remotion.Data.Linq.Clauses.CloneContext)"><summary>
            Clones this clause, registering its clone with the <paramref name="cloneContext" />.
            </summary><param name="cloneContext">The clones of all query source clauses are registered with this <see cref="T:Remotion.Data.Linq.Clauses.CloneContext" />.</param></member><member name="P:Remotion.Data.Linq.Clauses.GroupJoinClause.ItemName"><summary>
            Gets or sets a name describing the items generated by this <see cref="T:Remotion.Data.Linq.Clauses.GroupJoinClause" />. This is usually an <see cref="T:System.Collections.Generic.IEnumerable`1" />.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.GroupJoinClause.ItemType"><summary>
            Gets or sets the type of the items generated by this <see cref="T:Remotion.Data.Linq.Clauses.GroupJoinClause" />.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.GroupJoinClause.JoinClause"><summary>
            Gets or sets the inner join clause of this <see cref="T:Remotion.Data.Linq.Clauses.GroupJoinClause" />. The <see cref="P:Remotion.Data.Linq.Clauses.GroupJoinClause.JoinClause" /> represents the actual join operation
            performed by this clause; its results are then grouped by this clause before streaming them to subsequent clauses. 
            <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" /> objects outside the <see cref="T:Remotion.Data.Linq.Clauses.GroupJoinClause" /> must not point to <see cref="P:Remotion.Data.Linq.Clauses.GroupJoinClause.JoinClause" /> 
            because the items generated by it are only available in grouped form from outside this clause.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.JoinClause"><summary>
            Represents the join part of a query, adding new data items and joining them with data items from previous clauses. This can either
            be part of <see cref="P:Remotion.Data.Linq.QueryModel.BodyClauses" /> or of <see cref="T:Remotion.Data.Linq.Clauses.GroupJoinClause" />. The semantics of the <see cref="T:Remotion.Data.Linq.Clauses.JoinClause" />
            is that of an inner join, i.e. only combinations where both an input item and a joined item exist are returned.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.JoinClause.#ctor(System.String,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.JoinClause" /> class.
            </summary><param name="itemName">A name describing the items generated by this <see cref="T:Remotion.Data.Linq.Clauses.JoinClause" />.</param><param name="itemType">The type of the items generated by this <see cref="T:Remotion.Data.Linq.Clauses.JoinClause" />.</param><param name="innerSequence">The expression that generates the inner sequence, i.e. the items of this <see cref="T:Remotion.Data.Linq.Clauses.JoinClause" />.</param><param name="outerKeySelector">An expression that selects the left side of the comparison by which source items and inner items are joined.</param><param name="innerKeySelector">An expression that selects the right side of the comparison by which source items and inner items are joined.</param></member><member name="M:Remotion.Data.Linq.Clauses.JoinClause.Accept(Remotion.Data.Linq.IQueryModelVisitor,Remotion.Data.Linq.QueryModel,System.Int32)"><summary>
            Accepts the specified visitor by calling its <see cref="M:Remotion.Data.Linq.IQueryModelVisitor.VisitJoinClause(Remotion.Data.Linq.Clauses.JoinClause,Remotion.Data.Linq.QueryModel,System.Int32)" /> 
            method.
            </summary><param name="visitor">The visitor to accept.</param><param name="queryModel">The query model in whose context this clause is visited.</param><param name="index">The index of this clause in the <paramref name="queryModel" />'s <see cref="P:Remotion.Data.Linq.QueryModel.BodyClauses" /> collection.</param></member><member name="M:Remotion.Data.Linq.Clauses.JoinClause.Accept(Remotion.Data.Linq.IQueryModelVisitor,Remotion.Data.Linq.QueryModel,Remotion.Data.Linq.Clauses.GroupJoinClause)"><summary>
            Accepts the specified visitor by calling its <see cref="M:Remotion.Data.Linq.IQueryModelVisitor.VisitJoinClause(Remotion.Data.Linq.Clauses.JoinClause,Remotion.Data.Linq.QueryModel,Remotion.Data.Linq.Clauses.GroupJoinClause)" /> 
            method. This overload is used when visiting a <see cref="T:Remotion.Data.Linq.Clauses.JoinClause" /> that is held by a <see cref="T:Remotion.Data.Linq.Clauses.GroupJoinClause" />.
            </summary><param name="visitor">The visitor to accept.</param><param name="queryModel">The query model in whose context this clause is visited.</param><param name="groupJoinClause">The <see cref="T:Remotion.Data.Linq.Clauses.GroupJoinClause" /> holding this <see cref="T:Remotion.Data.Linq.Clauses.JoinClause" /> instance.</param></member><member name="M:Remotion.Data.Linq.Clauses.JoinClause.Clone(Remotion.Data.Linq.Clauses.CloneContext)"><summary>
            Clones this clause, registering its clone with the <paramref name="cloneContext" />.
            </summary><param name="cloneContext">The clones of all query source clauses are registered with this <see cref="T:Remotion.Data.Linq.Clauses.CloneContext" />.</param></member><member name="M:Remotion.Data.Linq.Clauses.JoinClause.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"><summary>
            Transforms all the expressions in this clause and its child objects via the given <paramref name="transformation" /> delegate.
            </summary><param name="transformation">The transformation object. This delegate is called for each <see cref="T:System.Linq.Expressions.Expression" /> within this
            clause, and those expressions will be replaced with what the delegate returns.</param></member><member name="P:Remotion.Data.Linq.Clauses.JoinClause.ItemType"><summary>
            Gets or sets the type of the items generated by this <see cref="T:Remotion.Data.Linq.Clauses.JoinClause" />.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.JoinClause.ItemName"><summary>
            Gets or sets a name describing the items generated by this <see cref="T:Remotion.Data.Linq.Clauses.JoinClause" />.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.JoinClause.InnerSequence"><summary>
            Gets or sets the inner sequence, the expression that generates the inner sequence, i.e. the items of this <see cref="T:Remotion.Data.Linq.Clauses.JoinClause" />.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.JoinClause.OuterKeySelector"><summary>
            Gets or sets the outer key selector, an expression that selects the right side of the comparison by which source items and inner items are joined.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.JoinClause.InnerKeySelector"><summary>
            Gets or sets the inner key selector, an expression that selects the left side of the comparison by which source items and inner items are joined.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.MainFromClause"><summary>
            Represents the main data source in a query, producing data items that are filtered, aggregated, projected, or otherwise processed by
            subsequent clauses.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.MainFromClause.#ctor(System.String,System.Type,System.Linq.Expressions.Expression)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.MainFromClause" /> class.
            </summary><param name="itemName">A name describing the items generated by the from clause.</param><param name="itemType">The type of the items generated by the from clause.</param><param name="fromExpression">The <see cref="T:System.Linq.Expressions.Expression" /> generating data items for this from clause.</param></member><member name="M:Remotion.Data.Linq.Clauses.MainFromClause.Accept(Remotion.Data.Linq.IQueryModelVisitor,Remotion.Data.Linq.QueryModel)"><summary>
            Accepts the specified visitor by calling its <see cref="M:Remotion.Data.Linq.IQueryModelVisitor.VisitMainFromClause(Remotion.Data.Linq.Clauses.MainFromClause,Remotion.Data.Linq.QueryModel)" /> method.
            </summary><param name="visitor">The visitor to accept.</param><param name="queryModel">The query model in whose context this clause is visited.</param></member><member name="M:Remotion.Data.Linq.Clauses.MainFromClause.Clone(Remotion.Data.Linq.Clauses.CloneContext)"><summary>
            Clones this clause, registering its clone with the <paramref name="cloneContext" />.
            </summary><param name="cloneContext">The clones of all query source clauses are registered with this <see cref="T:Remotion.Data.Linq.Clauses.CloneContext" />.</param></member><member name="T:Remotion.Data.Linq.Clauses.OrderByClause"><summary>
            Represents the orderby part of a query, ordering data items according to some <see cref="P:Remotion.Data.Linq.Clauses.OrderByClause.Orderings" />.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.OrderByClause.#ctor"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.OrderByClause" /> class.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.OrderByClause.Accept(Remotion.Data.Linq.IQueryModelVisitor,Remotion.Data.Linq.QueryModel,System.Int32)"><summary>
            Accepts the specified visitor by calling its <see cref="M:Remotion.Data.Linq.IQueryModelVisitor.VisitOrderByClause(Remotion.Data.Linq.Clauses.OrderByClause,Remotion.Data.Linq.QueryModel,System.Int32)" /> method.
            </summary><param name="visitor">The visitor to accept.</param><param name="queryModel">The query model in whose context this clause is visited.</param><param name="index">The index of this clause in the <paramref name="queryModel" />'s <see cref="P:Remotion.Data.Linq.QueryModel.BodyClauses" /> collection.</param></member><member name="M:Remotion.Data.Linq.Clauses.OrderByClause.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"><summary>
            Transforms all the expressions in this clause and its child objects via the given <paramref name="transformation" /> delegate.
            </summary><param name="transformation">The transformation object. This delegate is called for each <see cref="T:System.Linq.Expressions.Expression" /> within this
            clause, and those expressions will be replaced with what the delegate returns.</param></member><member name="M:Remotion.Data.Linq.Clauses.OrderByClause.Clone(Remotion.Data.Linq.Clauses.CloneContext)"><summary>
            Clones this clause.
            </summary><param name="cloneContext">The clones of all query source clauses are registered with this <see cref="T:Remotion.Data.Linq.Clauses.CloneContext" />.</param></member><member name="P:Remotion.Data.Linq.Clauses.OrderByClause.Orderings"><summary>
            Gets the <see cref="T:Remotion.Data.Linq.Clauses.Ordering" /> instances that define how to sort the items coming from previous clauses. The order of the 
            <see cref="P:Remotion.Data.Linq.Clauses.OrderByClause.Orderings" /> in the collection defines their priorities. For example, { LastName, FirstName } would sort all items by
            LastName, and only those items that have equal LastName values would be sorted by FirstName.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.Ordering"><summary>
            Represents a single ordering instruction in an <see cref="T:Remotion.Data.Linq.Clauses.OrderByClause" />.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.Ordering.#ctor(System.Linq.Expressions.Expression,Remotion.Data.Linq.Clauses.OrderingDirection)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.Ordering" /> class.
            </summary><param name="expression">The expression used to order the data items returned by the query.</param><param name="direction">The <see cref="P:Remotion.Data.Linq.Clauses.Ordering.OrderingDirection" /> to use for sorting.</param></member><member name="M:Remotion.Data.Linq.Clauses.Ordering.Accept(Remotion.Data.Linq.IQueryModelVisitor,Remotion.Data.Linq.QueryModel,Remotion.Data.Linq.Clauses.OrderByClause,System.Int32)"><summary>
            Accepts the specified visitor by calling its <see cref="M:Remotion.Data.Linq.IQueryModelVisitor.VisitOrdering(Remotion.Data.Linq.Clauses.Ordering,Remotion.Data.Linq.QueryModel,Remotion.Data.Linq.Clauses.OrderByClause,System.Int32)" /> method.
            </summary><param name="visitor">The visitor to accept.</param><param name="queryModel">The query model in whose context this clause is visited.</param><param name="orderByClause">The <see cref="T:Remotion.Data.Linq.Clauses.OrderByClause" /> in whose context this item is visited.</param><param name="index">The index of this item in the <paramref name="orderByClause" />'s <see cref="P:Remotion.Data.Linq.Clauses.OrderByClause.Orderings" /> collection.</param></member><member name="M:Remotion.Data.Linq.Clauses.Ordering.Clone(Remotion.Data.Linq.Clauses.CloneContext)"><summary>
            Clones this item.
            </summary><param name="cloneContext">The clones of all query source clauses are registered with this <see cref="T:Remotion.Data.Linq.Clauses.CloneContext" />.</param></member><member name="M:Remotion.Data.Linq.Clauses.Ordering.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"><summary>
            Transforms all the expressions in this item via the given <paramref name="transformation" /> delegate.
            </summary><param name="transformation">The transformation object. This delegate is called for each <see cref="P:Remotion.Data.Linq.Clauses.Ordering.Expression" /> within this
            item, and those expressions will be replaced with what the delegate returns.</param></member><member name="P:Remotion.Data.Linq.Clauses.Ordering.Expression"><summary>
            Gets or sets the expression used to order the data items returned by the query.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.Ordering.OrderingDirection"><summary>
            Gets or sets the direction to use for ordering data items.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.OrderingDirection"><summary>
            Specifies the direction used to sort the result items in a query using an <see cref="T:Remotion.Data.Linq.Clauses.OrderByClause" />.
            </summary></member><member name="F:Remotion.Data.Linq.Clauses.OrderingDirection.Asc"><summary>
            Sorts the items in an ascending way, from smallest to largest.
            </summary></member><member name="F:Remotion.Data.Linq.Clauses.OrderingDirection.Desc"><summary>
            Sorts the items in an descending way, from largest to smallest.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.QuerySourceMapping"><summary>
            Maps <see cref="T:Remotion.Data.Linq.Clauses.IQuerySource" /> instances to <see cref="T:System.Linq.Expressions.Expression" /> instances. This is used by <see cref="M:Remotion.Data.Linq.QueryModel.Clone" />
            in order to be able to correctly update references to old clauses to point to the new clauses. Via 
            <see cref="T:Remotion.Data.Linq.Clauses.ExpressionTreeVisitors.ReferenceReplacingExpressionTreeVisitor" /> and <see cref="T:Remotion.Data.Linq.Clauses.ExpressionTreeVisitors.CloningExpressionTreeVisitor" />, it can also be used manually.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.SelectClause"><summary>
            Represents the select part of a query, projecting data items according to some <see cref="P:Remotion.Data.Linq.Clauses.SelectClause.Selector" />.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.SelectClause.#ctor(System.Linq.Expressions.Expression)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.SelectClause" /> class.
            </summary><param name="selector">The selector that projects the data items.</param></member><member name="M:Remotion.Data.Linq.Clauses.SelectClause.Accept(Remotion.Data.Linq.IQueryModelVisitor,Remotion.Data.Linq.QueryModel)"><summary>
            Accepts the specified visitor by calling its <see cref="M:Remotion.Data.Linq.IQueryModelVisitor.VisitSelectClause(Remotion.Data.Linq.Clauses.SelectClause,Remotion.Data.Linq.QueryModel)" /> method.
            </summary><param name="visitor">The visitor to accept.</param><param name="queryModel">The query model in whose context this clause is visited.</param></member><member name="M:Remotion.Data.Linq.Clauses.SelectClause.Clone(Remotion.Data.Linq.Clauses.CloneContext)"><summary>
            Clones this clause.
            </summary><param name="cloneContext">The clones of all query source clauses are registered with this <see cref="T:Remotion.Data.Linq.Clauses.CloneContext" />.</param></member><member name="M:Remotion.Data.Linq.Clauses.SelectClause.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"><summary>
            Transforms all the expressions in this clause and its child objects via the given <paramref name="transformation" /> delegate.
            </summary><param name="transformation">The transformation object. This delegate is called for each <see cref="T:System.Linq.Expressions.Expression" /> within this
            clause, and those expressions will be replaced with what the delegate returns.</param></member><member name="M:Remotion.Data.Linq.Clauses.SelectClause.GetOutputDataInfo"><summary>
            Gets an <see cref="T:Remotion.Data.Linq.Clauses.StreamedData.StreamedSequenceInfo" /> object describing the data streaming out of this <see cref="T:Remotion.Data.Linq.Clauses.SelectClause" />. If a query ends with
            the <see cref="T:Remotion.Data.Linq.Clauses.SelectClause" />, this corresponds to the query's output data. If a query has <see cref="P:Remotion.Data.Linq.QueryModel.ResultOperators" />, the data
            is further modified by those operators. Use <see cref="M:Remotion.Data.Linq.QueryModel.GetOutputDataInfo" /> to obtain the real result type of
            a query model, including the <see cref="P:Remotion.Data.Linq.QueryModel.ResultOperators" />.
            </summary></member><member name="P:Remotion.Data.Linq.Clauses.SelectClause.Selector"><summary>
            Gets the selector defining what parts of the data items are returned by the query.
            </summary></member><member name="T:Remotion.Data.Linq.Clauses.WhereClause"><summary>
            Represents the where part of a query, filtering data items according to some <see cref="P:Remotion.Data.Linq.Clauses.WhereClause.Predicate" />.
            </summary></member><member name="M:Remotion.Data.Linq.Clauses.WhereClause.#ctor(System.Linq.Expressions.Expression)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Clauses.WhereClause" /> class.
            </summary><param name="predicate">The predicate used to filter data items.</param></member><member name="M:Remotion.Data.Linq.Clauses.WhereClause.Accept(Remotion.Data.Linq.IQueryModelVisitor,Remotion.Data.Linq.QueryModel,System.Int32)"><summary>
            Accepts the specified visitor by calling its <see cref="M:Remotion.Data.Linq.IQueryModelVisitor.VisitWhereClause(Remotion.Data.Linq.Clauses.WhereClause,Remotion.Data.Linq.QueryModel,System.Int32)" /> method.
            </summary><param name="visitor">The visitor to accept.</param><param name="queryModel">The query model in whose context this clause is visited.</param><param name="index">The index of this clause in the <paramref name="queryModel" />'s <see cref="P:Remotion.Data.Linq.QueryModel.BodyClauses" /> collection.</param></member><member name="M:Remotion.Data.Linq.Clauses.WhereClause.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"><summary>
            Transforms all the expressions in this clause and its child objects via the given <paramref name="transformation" /> delegate.
            </summary><param name="transformation">The transformation object. This delegate is called for each <see cref="T:System.Linq.Expressions.Expression" /> within this
            clause, and those expressions will be replaced with what the delegate returns.</param></member><member name="M:Remotion.Data.Linq.Clauses.WhereClause.Clone(Remotion.Data.Linq.Clauses.CloneContext)"><summary>
            Clones this clause.
            </summary><param name="cloneContext">The clones of all query source clauses are registered with this <see cref="T:Remotion.Data.Linq.Clauses.CloneContext" />.</param></member><member name="P:Remotion.Data.Linq.Clauses.WhereClause.Predicate"><summary>
            Gets the predicate, the expression representing the where condition by which the data items are filtered
            </summary></member><member name="T:Remotion.Data.Linq.Collections.ChangeResistantObservableCollectionEnumerator`1"><summary>
            Provides a way to enumerate an <see cref="T:Remotion.Data.Linq.Collections.ObservableCollection`1" /> while items are inserted, removed, or cleared in a consistent fashion.
            </summary></member><member name="T:Remotion.Data.Linq.Collections.ObservableCollection`1"><summary>
            Extends <see cref="T:System.Collections.ObjectModel.Collection`1" /> with events that indicate when the collection was changed.
            </summary></member><member name="M:Remotion.Data.Linq.Collections.ObservableCollection`1.AsChangeResistantEnumerable"><summary>
            Returns an instance of <see cref="T:System.Collections.Generic.IEnumerable`1" /> that represents this collection and can be enumerated even while the collection changes;
            the enumerator will adapt to the changes (see <see cref="T:Remotion.Data.Linq.Collections.ChangeResistantObservableCollectionEnumerator`1" />).
            </summary></member><member name="M:Remotion.Data.Linq.Collections.ObservableCollection`1.AsChangeResistantEnumerableWithIndex"><summary>
            Returns an instance of <see cref="T:System.Collections.Generic.IEnumerable`1" /> that represents this collection and can be enumerated even while the collection changes;
            the enumerator will adapt to the changes (see <see cref="T:Remotion.Data.Linq.Collections.ChangeResistantObservableCollectionEnumerator`1" />). The enumerable will yield
            instances of type <see cref="T:Remotion.Data.Linq.Collections.ObservableCollection`1.IndexValuePair" />, which hold both the index and the value of the current item. If this collection changes
            while enumerating, <see cref="P:Remotion.Data.Linq.Collections.ObservableCollection`1.IndexValuePair.Index" /> will reflect those changes.
            </summary></member><member name="E:Remotion.Data.Linq.Collections.ObservableCollection`1.ItemsCleared"><summary>
            Occurs after the items of this <see cref="T:Remotion.Data.Linq.Collections.ObservableCollection`1" /> have been cleared.
            </summary></member><member name="E:Remotion.Data.Linq.Collections.ObservableCollection`1.ItemRemoved"><summary>
            Occurs after an item has been removed from this <see cref="T:Remotion.Data.Linq.Collections.ObservableCollection`1" />. It does not occur when an item is replaced, in this
            case the <see cref="E:Remotion.Data.Linq.Collections.ObservableCollection`1.ItemSet" /> event is raised.
            </summary></member><member name="E:Remotion.Data.Linq.Collections.ObservableCollection`1.ItemInserted"><summary>
            Occurs after an item has been added to this <see cref="T:Remotion.Data.Linq.Collections.ObservableCollection`1" />. It does not occur when an item is replaced, in this
            case the <see cref="E:Remotion.Data.Linq.Collections.ObservableCollection`1.ItemSet" /> event is raised.
            </summary></member><member name="E:Remotion.Data.Linq.Collections.ObservableCollection`1.ItemSet"><summary>
            Occurs after an item has been set at a specific index of this <see cref="T:Remotion.Data.Linq.Collections.ObservableCollection`1" />.
            </summary></member><member name="T:Remotion.Data.Linq.Collections.ObservableCollection`1.IndexValuePair"><summary>
            Represents an item enumerated by <see cref="M:Remotion.Data.Linq.Collections.ObservableCollection`1.AsChangeResistantEnumerableWithIndex" />. This provides access
            to the <see cref="P:Remotion.Data.Linq.Collections.ObservableCollection`1.IndexValuePair.Index" /> as well as the <see cref="P:Remotion.Data.Linq.Collections.ObservableCollection`1.IndexValuePair.Value" /> of the enumerated item.
            </summary></member><member name="P:Remotion.Data.Linq.Collections.ObservableCollection`1.IndexValuePair.Index"><summary>
            Gets the index of the current enumerated item. Can only be called while enumerating, afterwards, it will throw an 
            <see cref="T:System.ObjectDisposedException" />. If an item is inserted into or removed from the collection before the current item, this
            index will change.
            </summary></member><member name="P:Remotion.Data.Linq.Collections.ObservableCollection`1.IndexValuePair.Value"><summary>
            Gets the value of the current enumerated item. Can only be called while enumerating, afterwards, it will throw an 
            <see cref="T:System.ObjectDisposedException" />.
            </summary></member><member name="T:Remotion.Data.Linq.Collections.ObservableCollectionChangedEventArgs`1"><summary>
            Provides event data for <see cref="T:Remotion.Data.Linq.Collections.ObservableCollection`1" />'s events.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ResultOperatorExpressionNodeBase"><summary>
            Acts as a base class for <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" />s standing for <see cref="T:System.Linq.Expressions.MethodCallExpression" />s that operate on the result of the query
            rather than representing actual clauses, such as <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.CountExpressionNode" /> or <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.DistinctExpressionNode" />.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionNodeBase"><summary>
            Base class for <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> implementations that represent instantiations of <see cref="T:System.Linq.Expressions.MethodCallExpression" />.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode"><summary>
            Interface for classes representing structural parts of an <see cref="T:System.Linq.Expressions.Expression" /> tree.
            </summary></member><member name="M:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode.Resolve(System.Linq.Expressions.ParameterExpression,System.Linq.Expressions.Expression,Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext)"><summary>
            Resolves the specified <paramref name="expressionToBeResolved" /> by replacing any occurrence of <paramref name="inputParameter" />
            by the result of the projection of this <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" />. The result is an <see cref="T:System.Linq.Expressions.Expression" /> that goes all the
            way to an <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" />.
            </summary><param name="inputParameter">The parameter representing the input data streaming into an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" />. This is replaced
            by the projection data coming out of this <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" />.</param><param name="expressionToBeResolved">The expression to be resolved. Any occurrence of <paramref name="inputParameter" /> in this expression
            is replaced.</param><param name="clauseGenerationContext">Context information used during the current parsing process. This structure maps 
            <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IQuerySourceExpressionNode" />s  to the clauses created from them. Implementers that also implement 
            <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IQuerySourceExpressionNode" /> (such as  <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.MainSourceExpressionNode" /> or <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.SelectManyExpressionNode" />) must add 
            their clauses to the mapping in <see cref="M:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode.Apply(Remotion.Data.Linq.QueryModel,Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext)" /> if they want to be able to implement <see cref="M:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode.Resolve(System.Linq.Expressions.ParameterExpression,System.Linq.Expressions.Expression,Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext)" /> correctly.</param></member><member name="M:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode.Apply(Remotion.Data.Linq.QueryModel,Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext)"><summary>
            Applies this <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> to the specified query model. Nodes can add or replace clauses, add or replace expressions, 
            add or replace <see cref="T:Remotion.Data.Linq.Clauses.ResultOperatorBase" /> objects, or even create a completely new <see cref="T:Remotion.Data.Linq.QueryModel" />, depending on their semantics.
            </summary><param name="queryModel">The query model this node should be applied to.</param><param name="clauseGenerationContext">Context information used during the current parsing process. This structure maps 
            <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IQuerySourceExpressionNode" />s to the clauses created from them. Implementers that 
            also implement <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IQuerySourceExpressionNode" /> (such as 
            <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.MainSourceExpressionNode" /> or <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.SelectManyExpressionNode" />) must add their clauses to the mapping in 
            <see cref="M:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode.Apply(Remotion.Data.Linq.QueryModel,Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext)" /> in order to be able to implement <see cref="M:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode.Resolve(System.Linq.Expressions.ParameterExpression,System.Linq.Expressions.Expression,Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext)" /> correctly.</param></member><member name="P:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode.Source"><summary>
            Gets the source <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> that streams data into this node.
            </summary></member><member name="P:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode.AssociatedIdentifier"><summary>
            Gets the identifier associated with this <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" />. <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> tries to find the identifier
            that was originally associated with this node in the query written by the user by analyzing the parameter names of the next expression in the 
            method call chain.
            </summary></member><member name="M:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionNodeBase.GetSupportedMethod``1(System.Linq.Expressions.Expression{System.Func{``0}})"><summary>
            Gets the <see cref="T:System.Reflection.MethodInfo" /> from a given <see cref="T:System.Linq.Expressions.LambdaExpression" /> that has to wrap a <see cref="T:System.Linq.Expressions.MethodCallExpression" />.
            If the method is a generic method, its open generic method definition is returned.
            This method can be used for registration of the node type with an <see cref="T:Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionNodeTypeRegistry" />.
            </summary><param name="methodCall">The method call.</param></member><member name="M:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionNodeBase.WrapQueryModelAfterEndOfQuery(Remotion.Data.Linq.QueryModel,Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext)"><summary>
            Wraps the <paramref name="queryModel" /> into a subquery after a node that indicates the end of the query (
            <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ResultOperatorExpressionNodeBase" /> or <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.GroupByExpressionNode" />). Override this method
            when implementing a <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> that does not need a subquery to be created if it occurs after the query end.
            </summary></member><member name="T:Remotion.Data.Linq.EagerFetching.FetchFilteringQueryModelVisitor"><summary>
            Visits a <see cref="T:Remotion.Data.Linq.QueryModel" />, removing all <see cref="T:Remotion.Data.Linq.EagerFetching.FetchRequestBase" /> instances from its <see cref="P:Remotion.Data.Linq.QueryModel.ResultOperators" />
            collection and returning <see cref="T:Remotion.Data.Linq.EagerFetching.FetchQueryModelBuilder" /> objects for them.
            </summary></member><member name="T:Remotion.Data.Linq.EagerFetching.FetchManyRequest"><summary>
            Represents a relation collection property that should be eager-fetched by means of a lambda expression.
            </summary></member><member name="T:Remotion.Data.Linq.EagerFetching.FetchRequestBase"><summary>
            Base class for classes representing a property that should be eager-fetched when a query is executed.
            </summary></member><member name="M:Remotion.Data.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Data.Linq.QueryModel)"><summary>
            Gets a the fetch query model, i.e. a new <see cref="T:Remotion.Data.Linq.QueryModel" /> that incorporates a given <paramref name="sourceItemQueryModel" /> as a
            <see cref="T:Remotion.Data.Linq.Clauses.Expressions.SubQueryExpression" /> and selects the fetched items from it.
            </summary><param name="sourceItemQueryModel">A <see cref="T:Remotion.Data.Linq.QueryModel" /> that yields the source items for which items are to be fetched.</param></member><member name="M:Remotion.Data.Linq.EagerFetching.FetchRequestBase.ModifyFetchQueryModel(Remotion.Data.Linq.QueryModel)"><summary>
            Modifies the given query model for fetching, adding new <see cref="T:Remotion.Data.Linq.Clauses.AdditionalFromClause" /> instances and changing the 
            <see cref="T:Remotion.Data.Linq.Clauses.SelectClause" /> as needed.
            This method is called by <see cref="M:Remotion.Data.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Data.Linq.QueryModel)" /> in the process of creating the new fetch query model.
            </summary><param name="fetchQueryModel">The fetch query model to modify.</param></member><member name="M:Remotion.Data.Linq.EagerFetching.FetchRequestBase.GetOrAddInnerFetchRequest(Remotion.Data.Linq.EagerFetching.FetchRequestBase)"><summary>
            Gets or adds an inner eager-fetch request for this <see cref="T:Remotion.Data.Linq.EagerFetching.FetchRequestBase" />.
            </summary><param name="fetchRequest">The <see cref="T:Remotion.Data.Linq.EagerFetching.FetchRequestBase" /> to be added.</param></member><member name="P:Remotion.Data.Linq.EagerFetching.FetchRequestBase.RelationMember"><summary>
            Gets the <see cref="T:System.Reflection.MemberInfo" /> of the relation member whose contained object(s) should be fetched.
            </summary></member><member name="P:Remotion.Data.Linq.EagerFetching.FetchRequestBase.InnerFetchRequests"><summary>
            Gets the inner fetch requests that were issued for this <see cref="T:Remotion.Data.Linq.EagerFetching.FetchRequestBase" />.
            </summary></member><member name="M:Remotion.Data.Linq.EagerFetching.FetchManyRequest.ModifyFetchQueryModel(Remotion.Data.Linq.QueryModel)"><summary>
            Modifies the given query model for fetching, adding an <see cref="T:Remotion.Data.Linq.Clauses.AdditionalFromClause" /> and changing the <see cref="P:Remotion.Data.Linq.Clauses.SelectClause.Selector" /> to 
            retrieve the result of the <see cref="T:Remotion.Data.Linq.Clauses.AdditionalFromClause" />.
            For example, a fetch request such as <c>FetchMany (x =&gt; x.Orders)</c> will be transformed into a <see cref="T:Remotion.Data.Linq.Clauses.AdditionalFromClause" /> selecting
            <c>y.Orders</c> (where <c>y</c> is what the query model originally selected) and a <see cref="T:Remotion.Data.Linq.Clauses.SelectClause" /> selecting the result of the
            <see cref="T:Remotion.Data.Linq.Clauses.AdditionalFromClause" />.
            This method is called by <see cref="M:Remotion.Data.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Data.Linq.QueryModel)" /> in the process of creating the new fetch query model.
            </summary></member><member name="M:Remotion.Data.Linq.EagerFetching.FetchManyRequest.Clone(Remotion.Data.Linq.Clauses.CloneContext)"></member><member name="M:Remotion.Data.Linq.EagerFetching.FetchManyRequest.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"></member><member name="T:Remotion.Data.Linq.EagerFetching.FetchOneRequest"><summary>
            Represents a property holding one object that should be eager-fetched when a query is executed.
            </summary></member><member name="M:Remotion.Data.Linq.EagerFetching.FetchOneRequest.ModifyFetchQueryModel(Remotion.Data.Linq.QueryModel)"><summary>
            Modifies the given query model for fetching, changing the <see cref="P:Remotion.Data.Linq.Clauses.SelectClause.Selector" /> to the fetch source expression.
            For example, a fetch request such as <c>FetchOne (x =&gt; x.Customer)</c> will be transformed into a <see cref="T:Remotion.Data.Linq.Clauses.SelectClause" /> selecting
            <c>y.Customer</c> (where <c>y</c> is what the query model originally selected).
            This method is called by <see cref="M:Remotion.Data.Linq.EagerFetching.FetchRequestBase.CreateFetchQueryModel(Remotion.Data.Linq.QueryModel)" /> in the process of creating the new fetch query model.
            </summary></member><member name="M:Remotion.Data.Linq.EagerFetching.FetchOneRequest.Clone(Remotion.Data.Linq.Clauses.CloneContext)"></member><member name="M:Remotion.Data.Linq.EagerFetching.FetchOneRequest.TransformExpressions(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression})"></member><member name="T:Remotion.Data.Linq.EagerFetching.FetchQueryModelBuilder"><summary>
            Holds a <see cref="T:Remotion.Data.Linq.EagerFetching.FetchRequestBase" />, a <see cref="P:Remotion.Data.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel" /> for which the fetch request was created, and the position
            where the <see cref="T:Remotion.Data.Linq.EagerFetching.FetchRequestBase" /> occurred in the <see cref="P:Remotion.Data.Linq.QueryModel.ResultOperators" /> list of the <see cref="P:Remotion.Data.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel" />. From
            this information, it builds a new <see cref="P:Remotion.Data.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel" /> that represents the <see cref="T:Remotion.Data.Linq.EagerFetching.FetchRequestBase" /> as a query.
            </summary></member><member name="M:Remotion.Data.Linq.EagerFetching.FetchQueryModelBuilder.#ctor(Remotion.Data.Linq.EagerFetching.FetchRequestBase,Remotion.Data.Linq.QueryModel,System.Int32)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.EagerFetching.FetchQueryModelBuilder" /> class.
            </summary><param name="fetchRequest">The fetch request.</param><param name="queryModel">The query model for which the <paramref name="fetchRequest" /> was originally defined.</param><param name="resultOperatorPosition">The result operator position where the <paramref name="fetchRequest" /> was originally located.
            The <see cref="T:Remotion.Data.Linq.EagerFetching.FetchQueryModelBuilder" /> will include all result operators prior to this position into the fetch <see cref="P:Remotion.Data.Linq.EagerFetching.FetchQueryModelBuilder.SourceItemQueryModel" />,
            but it will not include any result operators occurring after (or at) that position.</param></member><member name="M:Remotion.Data.Linq.EagerFetching.FetchQueryModelBuilder.GetOrCreateFetchQueryModel"><summary>
            Creates the fetch query model for the <see cref="T:Remotion.Data.Linq.EagerFetching.FetchRequestBase" />, caching the result.
            </summary></member><member name="M:Remotion.Data.Linq.EagerFetching.FetchQueryModelBuilder.CreateInnerBuilders"><summary>
            Creates <see cref="T:Remotion.Data.Linq.EagerFetching.FetchQueryModelBuilder" /> objects for the <see cref="P:Remotion.Data.Linq.EagerFetching.FetchRequestBase.InnerFetchRequests" /> of the 
            <see cref="P:Remotion.Data.Linq.EagerFetching.FetchQueryModelBuilder.FetchRequest" />. Inner fetch requests start from the fetch query model of the outer fetch request, and they have
            a <see cref="P:Remotion.Data.Linq.EagerFetching.FetchQueryModelBuilder.ResultOperatorPosition" /> of 0.
            </summary></member><member name="T:Remotion.Data.Linq.EagerFetching.FetchRequestCollection"><summary>
            Holds a number of <see cref="T:Remotion.Data.Linq.EagerFetching.FetchManyRequest" /> instances keyed by the <see cref="T:System.Reflection.MemberInfo" /> instances representing the relation members
            to be eager-fetched.
            </summary></member><member name="M:Remotion.Data.Linq.EagerFetching.FetchRequestCollection.GetOrAddFetchRequest(Remotion.Data.Linq.EagerFetching.FetchRequestBase)"><summary>
            Gets or adds an eager-fetch request to this <see cref="T:Remotion.Data.Linq.EagerFetching.FetchRequestCollection" />.
            </summary><param name="fetchRequest">The <see cref="T:Remotion.Data.Linq.EagerFetching.FetchRequestBase" /> to be added.</param></member><member name="T:Remotion.Data.Linq.EagerFetching.FluentFetchRequest`2"><summary>
            Provides a fluent interface to recursively fetch related objects of objects which themselves are eager-fetched. All query methods
            are implemented as extension methods.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.ExpressionTreeVisitors.MemberBindings.FieldInfoBinding"><summary>
            Represents a <see cref="T:System.Reflection.FieldInfo" /> being bound to an associated <see cref="T:System.Linq.Expressions.Expression" /> instance. This binding's 
            <see cref="M:Remotion.Data.Linq.Parsing.ExpressionTreeVisitors.MemberBindings.FieldInfoBinding.MatchesReadAccess(System.Reflection.MemberInfo)" /> method returns <see langword="true" /> only for the same <see cref="T:System.Reflection.FieldInfo" /> the expression is bound to.
            <seealso cref="T:System.Linq.Expressions.MemberBinding" />
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.ExpressionTreeVisitors.MemberBindings.MemberBinding"><summary>
            Represents a <see cref="T:System.Reflection.MemberInfo" /> being bound to an associated <see cref="T:System.Linq.Expressions.Expression" /> instance. This is used by the 
            <see cref="T:Remotion.Data.Linq.Parsing.ExpressionTreeVisitors.TransparentIdentifierRemovingExpressionTreeVisitor" /> to represent assignments in constructor calls such as <c>new AnonymousType (a = 5)</c>, 
            where <c>a</c> is the member of <c>AnonymousType</c> and <c>5</c> is the associated expression.
            The <see cref="M:Remotion.Data.Linq.Parsing.ExpressionTreeVisitors.MemberBindings.MemberBinding.MatchesReadAccess(System.Reflection.MemberInfo)" /> method can be used to check whether the member bound to an expression matches a given <see cref="T:System.Reflection.MemberInfo" />
            (considering read access). See the subclasses for details.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.ExpressionTreeVisitors.MemberBindings.MethodInfoBinding"><summary>
            Represents a <see cref="T:System.Reflection.MethodInfo" /> being bound to an associated <see cref="T:System.Linq.Expressions.Expression" /> instance. 
            <seealso cref="T:System.Linq.Expressions.MemberBinding" />
            This binding's 
            <see cref="M:Remotion.Data.Linq.Parsing.ExpressionTreeVisitors.MemberBindings.MethodInfoBinding.MatchesReadAccess(System.Reflection.MemberInfo)" /> method returns <see langword="true" /> for the same <see cref="T:System.Reflection.MethodInfo" /> the expression is bound to or for a
            <see cref="T:System.Reflection.PropertyInfo" /> whose getter method is the <see cref="T:System.Reflection.MethodInfo" /> the expression is bound to.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.ExpressionTreeVisitors.MemberBindings.PropertyInfoBinding"><summary>
            Represents a <see cref="T:System.Reflection.PropertyInfo" /> being bound to an associated <see cref="T:System.Linq.Expressions.Expression" /> instance. 
            <seealso cref="T:System.Linq.Expressions.MemberBinding" />
            This binding's 
            <see cref="M:Remotion.Data.Linq.Parsing.ExpressionTreeVisitors.MemberBindings.PropertyInfoBinding.MatchesReadAccess(System.Reflection.MemberInfo)" /> method returns <see langword="true" /> for the same <see cref="T:System.Reflection.PropertyInfo" /> the expression is bound to 
            or for its getter method's <see cref="T:System.Reflection.MethodInfo" />.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.ExpressionTreeVisitors.TreeEvaluation.EvaluatableTreeFindingExpressionTreeVisitor"><summary>
            Analyzes an expression tree by visiting each of its nodes, finding those subtrees that can be evaluated without modifying the meaning of
            the tree.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.ExpressionTreeVisitors.PartialEvaluatingExpressionTreeVisitor"><summary>
            Takes an expression tree and first analyzes it for evaluatable subtrees (using <see cref="T:Remotion.Data.Linq.Parsing.ExpressionTreeVisitors.TreeEvaluation.EvaluatableTreeFindingExpressionTreeVisitor" />), i.e.
            subtrees that can be pre-evaluated before actually generating the query. Examples for evaluatable subtrees are operations on constant
            values (constant folding), access to closure variables (variables used by the LINQ query that are defined in an outer scope), or method
            calls on known objects or their members. In a second step, it replaces all of the evaluatable subtrees (top-down and non-recursive) by 
            their evaluated counterparts.
            </summary></member><member name="M:Remotion.Data.Linq.Parsing.ExpressionTreeVisitors.PartialEvaluatingExpressionTreeVisitor.EvaluateIndependentSubtrees(System.Linq.Expressions.Expression)"><summary>
            Takes an expression tree and finds and evaluates all its evaluatable subtrees.
            </summary></member><member name="M:Remotion.Data.Linq.Parsing.ExpressionTreeVisitors.PartialEvaluatingExpressionTreeVisitor.EvaluateSubtree(System.Linq.Expressions.Expression)"><summary>
            Evaluates an evaluatable <see cref="T:System.Linq.Expressions.Expression" /> subtree, i.e. an independent expression tree that is compilable and executable
            without any data being passed in. The result of the evaluation is returned as a <see cref="T:System.Linq.Expressions.ConstantExpression" />; if the subtree
            is already a <see cref="T:System.Linq.Expressions.ConstantExpression" />, no evaluation is performed.
            </summary><param name="subtree">The subtree to be evaluated.</param></member><member name="T:Remotion.Data.Linq.Parsing.ExpressionTreeVisitors.SubQueryFindingExpressionTreeVisitor"><summary>
            Parses an expression tree, looks for sub-queries in that tree (ie. expressions that themselves are LINQ queries), parses and registers them, and
            replaces them with an instance of <see cref="T:Remotion.Data.Linq.Clauses.Expressions.SubQueryExpression" />.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.ExpressionTreeVisitors.TransparentIdentifierRemovingExpressionTreeVisitor"><summary>
            Replaces expression patterns of the form <c>new T { x = 1, y = 2 }.x</c> (<see cref="T:System.Linq.Expressions.MemberInitExpression" />) or 
            <c>new T ( x = 1, y = 2 ).x</c> (<see cref="T:System.Linq.Expressions.NewExpression" />) to <c>1</c> (or <c>2</c> if <c>y</c> is accessed instead of <c>x</c>).
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.AggregateExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for the 
            <see cref="M:System.Linq.Queryable.Aggregate``1(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,``0,``0}})" /> and <see cref="M:System.Linq.Enumerable.Aggregate``2(System.Collections.Generic.IEnumerable{``0},``1,System.Func{``1,``0,``1})" /> methods.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it marks the beginning (i.e. the last node) of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.AggregateFromSeedExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for the 
            <see cref="M:System.Linq.Queryable.Aggregate``2(System.Linq.IQueryable{``0},``1,System.Linq.Expressions.Expression{System.Func{``1,``0,``1}})" />, <see cref="M:System.Linq.Queryable.Aggregate``3(System.Linq.IQueryable{``0},``1,System.Linq.Expressions.Expression{System.Func{``1,``0,``1}},System.Linq.Expressions.Expression{System.Func{``1,``2}})" />,
            <see cref="M:System.Linq.Enumerable.Aggregate``2(System.Collections.Generic.IEnumerable{``0},``1,System.Func{``1,``0,``1})" />, and <see cref="M:System.Linq.Enumerable.Aggregate``3(System.Collections.Generic.IEnumerable{``0},``1,System.Func{``1,``0,``1},System.Func{``1,``2})" />
            methods.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it marks the beginning (i.e. the last node) of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.AllExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for the 
            <see cref="M:System.Linq.Queryable.All``1(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})" /> and
            <see cref="M:System.Linq.Enumerable.All``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean})" /> methods.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it marks the beginning (i.e. the last node) of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.AnyExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for the <see cref="M:System.Linq.Queryable.Any``1(System.Linq.IQueryable{``0})" />,
            <see cref="M:System.Linq.Queryable.Any``1(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})" />,
            <see cref="M:System.Linq.Enumerable.Any``1(System.Collections.Generic.IEnumerable{``0})" />, and
            <see cref="M:System.Linq.Enumerable.Any``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean})" /> methods.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it marks the beginning (i.e. the last node) of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.AverageExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for the different overloads of <see cref="O:Queryable.Average" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it marks the beginning (i.e. the last node) of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.CastExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for 
            <see cref="M:System.Linq.Queryable.Cast``1(System.Linq.IQueryable)" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext"><summary>
            Encapsulates contextual information used while generating clauses from <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> instances.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ContainsExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for <see cref="M:System.Linq.Queryable.Contains``1(System.Linq.IQueryable{``0},``0)" /> and
            <see cref="M:System.Linq.Enumerable.Contains``1(System.Collections.Generic.IEnumerable{``0},``0)" />. 
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it marks the beginning (i.e. the last node) of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.CountExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for <see cref="M:System.Linq.Queryable.Count``1(System.Linq.IQueryable{``0})" />,
            <see cref="M:System.Linq.Queryable.Count``1(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})" />,
            for the Count properties of <see cref="T:System.Collections.Generic.List`1" />, <see cref="T:System.Collections.ArrayList" />, <see cref="T:System.Collections.Generic.ICollection`1" />, and <see cref="T:System.Collections.ICollection" />, 
            and for the <see cref="P:System.Array.Length" /> property of arrays.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it marks the beginning (i.e. the last node) of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.DefaultIfEmptyExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for <see cref="M:System.Linq.Queryable.DefaultIfEmpty``1(System.Linq.IQueryable{``0})" /> and
            <see cref="M:System.Linq.Queryable.DefaultIfEmpty``1(System.Linq.IQueryable{``0},``0)" /> and 
            <see cref="M:System.Linq.Enumerable.DefaultIfEmpty``1(System.Collections.Generic.IEnumerable{``0})" /> and
            <see cref="M:System.Linq.Enumerable.DefaultIfEmpty``1(System.Collections.Generic.IEnumerable{``0},``0)" />
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it usually follows (or replaces) a <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.SelectExpressionNode" /> of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that 
            represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.DistinctExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for <see cref="M:System.Linq.Queryable.Distinct``1(System.Linq.IQueryable{``0})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it usually follows (or replaces) a <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.SelectExpressionNode" /> of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that 
            represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ExceptExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for 
            <see cref="M:System.Linq.Queryable.Except``1(System.Linq.IQueryable{``0},System.Collections.Generic.IEnumerable{``0})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it usually follows (or replaces) a <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.SelectExpressionNode" /> of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that 
            represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ExpressionResolver"><summary>
            Resolves an expression using <see cref="M:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode.Resolve(System.Linq.Expressions.ParameterExpression,System.Linq.Expressions.Expression,Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext)" />, removing transparent identifiers and detecting subqueries
            in the process. This is used by methods such as <see cref="M:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.SelectExpressionNode.GetResolvedSelector(Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext)" />, which are
            used when a clause is created from an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" />.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.FirstExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for <see cref="M:System.Linq.Queryable.First``1(System.Linq.IQueryable{``0})" />,
            <see cref="M:System.Linq.Queryable.First``1(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})" />,
            <see cref="M:System.Linq.Queryable.FirstOrDefault``1(System.Linq.IQueryable{``0})" /> or
            <see cref="M:System.Linq.Queryable.FirstOrDefault``1(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it marks the beginning (i.e. the last node) of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.GroupJoinExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for 
            <see cref="M:System.Linq.Queryable.GroupJoin``4(System.Linq.IQueryable{``0},System.Collections.Generic.IEnumerable{``1},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.Linq.Expressions.Expression{System.Func{``1,``2}},System.Linq.Expressions.Expression{System.Func{``0,System.Collections.Generic.IEnumerable{``1},``3}})" />
            or <see cref="M:System.Linq.Enumerable.GroupJoin``4(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``0,``2},System.Func{``1,``2},System.Func{``0,System.Collections.Generic.IEnumerable{``1},``3})" />
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionParseInfo"><summary>
            Contains metadata about a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> that is parsed into a <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionNodeBase" />.
            </summary></member><member name="P:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionParseInfo.AssociatedIdentifier"><summary>
            Gets the associated identifier, i.e. the name the user gave the data streaming out of this expression. For example, the 
            <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.SelectManyExpressionNode" /> corresponding to a <c>from c in C</c> clause should get the identifier "c".
            If there is no user-defined identifier (or the identifier is impossible to infer from the expression tree), a generated identifier
            is given instead.
            </summary></member><member name="P:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionParseInfo.Source"><summary>
            Gets the source expression node, i.e. the node streaming data into the parsed node.
            </summary></member><member name="P:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionParseInfo.ParsedExpression"><summary>
            Gets the <see cref="T:System.Linq.Expressions.MethodCallExpression" /> being parsed.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IntersectExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for 
            <see cref="M:System.Linq.Queryable.Intersect``1(System.Linq.IQueryable{``0},System.Collections.Generic.IEnumerable{``0})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it usually follows (or replaces) a <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.SelectExpressionNode" /> of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that 
            represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.JoinExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for 
            <see cref="M:System.Linq.Queryable.Join``4(System.Linq.IQueryable{``0},System.Collections.Generic.IEnumerable{``1},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.Linq.Expressions.Expression{System.Func{``1,``2}},System.Linq.Expressions.Expression{System.Func{``0,``1,``3}})" />
            or <see cref="M:System.Linq.Enumerable.Join``4(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``1},System.Func{``0,``2},System.Func{``1,``2},System.Func{``0,``1,``3})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.LastExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for <see cref="M:System.Linq.Queryable.Last``1(System.Linq.IQueryable{``0})" />,
            <see cref="M:System.Linq.Queryable.Last``1(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})" />,
            <see cref="M:System.Linq.Queryable.LastOrDefault``1(System.Linq.IQueryable{``0})" /> or
            <see cref="M:System.Linq.Queryable.LastOrDefault``1(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it marks the beginning (i.e. the last node) of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.LongCountExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for <see cref="M:System.Linq.Queryable.LongCount``1(System.Linq.IQueryable{``0})" />,
            <see cref="M:System.Linq.Queryable.LongCount``1(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})" />,
            and for the <see cref="P:System.Array.Length" /> property of arrays.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it marks the beginning (i.e. the last node) of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.MainSourceExpressionNode"><summary>
            Represents the first expression in a LINQ query, which acts as the main query source.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="P:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.MainSourceExpressionNode.ParsedExpression" /> tree is parsed.
            This node usually marks the end (i.e. the first node) of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.MaxExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for <see cref="M:System.Linq.Queryable.Max``1(System.Linq.IQueryable{``0})" /> or <see cref="M:System.Linq.Queryable.Max``2(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it marks the beginning (i.e. the last node) of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.MethodCallExpressionNodeFactory"><summary>
            Creates instances of classes implementing the <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> interface via Reflection.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.MinExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for <see cref="M:System.Linq.Queryable.Min``1(System.Linq.IQueryable{``0})" /> or <see cref="M:System.Linq.Queryable.Min``2(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it marks the beginning (i.e. the last node) of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.OfTypeExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for 
            <see cref="M:System.Linq.Queryable.OfType``1(System.Linq.IQueryable)" /> and <see cref="M:System.Linq.Enumerable.OfType``1(System.Collections.IEnumerable)" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.OrderByDescendingExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for 
            <see cref="M:System.Linq.Queryable.OrderByDescending``2(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.OrderByExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for 
            <see cref="M:System.Linq.Queryable.OrderBy``2(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.QuerySourceExpressionNodeUtility"><summary>
            Provides common functionality used by implementors of <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IQuerySourceExpressionNode" />.
            </summary></member><member name="M:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.QuerySourceExpressionNodeUtility.ReplaceParameterWithReference(Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IQuerySourceExpressionNode,System.Linq.Expressions.ParameterExpression,System.Linq.Expressions.Expression,Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext)"><summary>
            Replaces the given parameter with a back-reference to the <see cref="T:Remotion.Data.Linq.Clauses.IQuerySource" /> corresponding to <paramref name="referencedNode" />.
            </summary><param name="referencedNode">The referenced node.</param><param name="parameterToReplace">The parameter to replace with a <see cref="T:Remotion.Data.Linq.Clauses.Expressions.QuerySourceReferenceExpression" />.</param><param name="expression">The expression in which to replace the parameter.</param><param name="context">The clause generation context.</param></member><member name="M:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.QuerySourceExpressionNodeUtility.GetQuerySourceForNode(Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IQuerySourceExpressionNode,Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext)"><summary>
            Gets the <see cref="T:Remotion.Data.Linq.Clauses.IQuerySource" /> corresponding to the given <paramref name="node" />, throwing an <see cref="T:System.InvalidOperationException" />
            if no such clause has been registered in the given <paramref name="context" />.
            </summary><param name="node">The node for which the <see cref="T:Remotion.Data.Linq.Clauses.IQuerySource" /> should be returned.</param><param name="context">The clause generation context.</param></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ResolvedExpressionCache`1"><summary>
            Caches a resolved expression in the <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> classes.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ReverseExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for <see cref="M:System.Linq.Queryable.Reverse``1(System.Linq.IQueryable{``0})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it usually follows (or replaces) a <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.SelectExpressionNode" /> of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that 
            represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.SelectExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for 
            <see cref="M:System.Linq.Queryable.Select``2(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.SelectManyExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for 
            <see cref="M:System.Linq.Queryable.SelectMany``3(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Collections.Generic.IEnumerable{``1}}},System.Linq.Expressions.Expression{System.Func{``0,``1,``2}})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            This node represents an additional query source introduced to the query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.SingleExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for <see cref="M:System.Linq.Queryable.Single``1(System.Linq.IQueryable{``0})" />,
            <see cref="M:System.Linq.Queryable.Single``1(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})" />,
            <see cref="M:System.Linq.Queryable.SingleOrDefault``1(System.Linq.IQueryable{``0})" /> or 
            <see cref="M:System.Linq.Queryable.SingleOrDefault``1(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it marks the beginning (i.e. the last node) of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.SkipExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for <see cref="M:System.Linq.Queryable.Skip``1(System.Linq.IQueryable{``0},System.Int32)" />
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it usually follows (or replaces) a <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.SelectExpressionNode" /> of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that 
            represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.SumExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for the different overloads of <see cref="M:System.Linq.Queryable.Sum(System.Linq.IQueryable{System.Int32})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it marks the beginning (i.e. the last node) of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.TakeExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for <see cref="M:System.Linq.Queryable.Take``1(System.Linq.IQueryable{``0},System.Int32)" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it usually follows (or replaces) a <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.SelectExpressionNode" /> of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that 
            represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ThenByDescendingExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for 
            <see cref="M:System.Linq.Queryable.ThenByDescending``2(System.Linq.IOrderedQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it follows an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.OrderByExpressionNode" />, an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.OrderByDescendingExpressionNode" />, 
            a <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ThenByExpressionNode" />, or a <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ThenByDescendingExpressionNode" />.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ThenByExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for 
            <see cref="M:System.Linq.Queryable.ThenBy``2(System.Linq.IOrderedQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it follows an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.OrderByExpressionNode" />, an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.OrderByDescendingExpressionNode" />, 
            a <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ThenByExpressionNode" />, or a <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ThenByDescendingExpressionNode" />.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.UnionExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for 
            <see cref="M:System.Linq.Queryable.Union``1(System.Linq.IQueryable{``0},System.Collections.Generic.IEnumerable{``0})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            When this node is used, it usually follows (or replaces) a <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.SelectExpressionNode" /> of an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain that 
            represents a query.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.WhereExpressionNode"><summary>
            Represents a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> for 
            <see cref="M:System.Linq.Queryable.Where``1(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})" />.
            It is generated by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when an <see cref="T:System.Linq.Expressions.Expression" /> tree is parsed.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser"><summary>
            Parses an expression tree into a chain of <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> objects, partially evaluating expressions in the process.
            </summary></member><member name="M:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser.ParseTree(System.Linq.Expressions.Expression)"><summary>
            Parses the given <paramref name="expressionTree" /> into a chain of <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> instances, using 
            <see cref="T:Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionNodeTypeRegistry" /> to convert expressions to nodes.
            </summary><param name="expressionTree">The expression tree to parse.</param></member><member name="M:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser.GetQueryOperatorExpression(System.Linq.Expressions.Expression)"><summary>
            Gets the query operator <see cref="T:System.Linq.Expressions.MethodCallExpression" /> represented by <paramref name="expression" />. If <paramref name="expression" />
            is already a <see cref="T:System.Linq.Expressions.MethodCallExpression" />, that is the assumed query operator. If <paramref name="expression" /> is a 
            <see cref="T:System.Linq.Expressions.MemberExpression" /> and the member's getter is registered with <see cref="P:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser.NodeTypeRegistry" />, a corresponding 
            <see cref="T:System.Linq.Expressions.MethodCallExpression" /> is constructed and returned. Otherwise, <see langword="null" /> is returned.
            </summary><param name="expression">The expression to get a query operator expression for.</param></member><member name="M:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser.InferAssociatedIdentifierForSource(System.Linq.Expressions.MethodCallExpression)"><summary>
            Infers the associated identifier for the source expression node contained in methodCallExpression.Arguments[0]. For example, for the
            call chain "<c>source.Where (i =&gt; i &gt; 5)</c>" (which actually reads "<c>Where (source, i =&gt; i &gt; 5</c>"), the identifier "i" is associated
            with the node generated for "source". If no identifier can be inferred, <see langword="null" /> is returned.
            </summary></member><member name="P:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser.NodeTypeRegistry"><summary>
            Gets the node type registry used to parse <see cref="T:System.Linq.Expressions.MethodCallExpression" /> instances in <see cref="M:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser.ParseTree(System.Linq.Expressions.Expression)" />.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionNodeTypeRegistry"><summary>
            Maps the <see cref="T:System.Reflection.MethodInfo" /> objects used in <see cref="T:System.Linq.Expressions.MethodCallExpression" /> objects to the respective <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" />
            types. This is used by <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> when a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> is encountered to instantiate the
            right <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> for the given method.
            </summary></member><member name="M:Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionNodeTypeRegistry.CreateDefault"><summary>
            Creates a default <see cref="T:Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionNodeTypeRegistry" />, which has all types implementing <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> from the
            re-linq assembly automatically registered, as long as they offer a public static <c>SupportedMethods</c> field.
            </summary></member><member name="M:Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionNodeTypeRegistry.GetRegisterableMethodDefinition(System.Reflection.MethodInfo)"><summary>
            Gets the registerable method definition from a given <see cref="T:System.Reflection.MethodInfo" />. A registerable method is a <see cref="T:System.Reflection.MethodInfo" /> object
            that can be registered via a call to <see cref="M:Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionNodeTypeRegistry.Register(System.Collections.Generic.IEnumerable{System.Reflection.MethodInfo},System.Type)" />. When the given <paramref name="method" /> is passed to 
            <see cref="M:Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionNodeTypeRegistry.GetNodeType(System.Reflection.MethodInfo)" /> and its corresponding registerable method was registered, the correct node type is returned.
            </summary><param name="method">The method for which the registerable method should be retrieved.</param></member><member name="M:Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionNodeTypeRegistry.Register(System.Collections.Generic.IEnumerable{System.Reflection.MethodInfo},System.Type)"><summary>
            Registers the specified <paramref name="methods" /> with the given <paramref name="nodeType" />. The given methods must either be non-generic
            or open generic method definitions. If a method has already been registered before, the later registration overwrites the earlier one.
            </summary></member><member name="M:Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionNodeTypeRegistry.IsRegistered(System.Reflection.MethodInfo)"><summary>
            Determines whether the specified method was registered with this <see cref="T:Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionNodeTypeRegistry" />.
            </summary></member><member name="M:Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionNodeTypeRegistry.GetNodeType(System.Reflection.MethodInfo)"><summary>
            Gets the type of <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> registered with this <see cref="T:Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionNodeTypeRegistry" /> instance that
            matches the given <paramref name="method" />, throwing a <see cref="T:System.Collections.Generic.KeyNotFoundException" /> if none can be found.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionParser"><summary>
            Parses a <see cref="T:System.Linq.Expressions.MethodCallExpression" /> and creates an <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> from it. This is used by 
            <see cref="T:Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser" /> for parsing whole expression trees.
            </summary></member><member name="T:Remotion.Data.Linq.Parsing.Structure.QueryParser"><summary>
            Takes an <see cref="T:System.Linq.Expressions.Expression" /> tree and parses it into a <see cref="T:Remotion.Data.Linq.QueryModel" /> by use of an <see cref="P:Remotion.Data.Linq.Parsing.Structure.QueryParser.ExpressionTreeParser" />.
            It first transforms the <see cref="T:System.Linq.Expressions.Expression" /> tree into a chain of <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> instances, and then calls 
            <see cref="M:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.MainSourceExpressionNode.CreateMainFromClause(Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext)" /> and <see cref="M:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode.Apply(Remotion.Data.Linq.QueryModel,Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext)" /> in order to instantiate all the 
            <see cref="T:Remotion.Data.Linq.Clauses.IClause" />s. With those, a <see cref="T:Remotion.Data.Linq.QueryModel" /> is created and returned.
            </summary></member><member name="M:Remotion.Data.Linq.Parsing.Structure.QueryParser.#ctor"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Parsing.Structure.QueryParser" /> class, using a default instance of <see cref="P:Remotion.Data.Linq.Parsing.Structure.QueryParser.ExpressionTreeParser" /> to
            convert <see cref="T:System.Linq.Expressions.Expression" /> instances into <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" />s. The <see cref="T:Remotion.Data.Linq.Parsing.Structure.MethodCallExpressionNodeTypeRegistry" /> 
            used has all relevant methods of the <see cref="T:System.Linq.Queryable" /> class automatically 
            registered.
            </summary></member><member name="M:Remotion.Data.Linq.Parsing.Structure.QueryParser.#ctor(Remotion.Data.Linq.Parsing.Structure.ExpressionTreeParser)"><summary>
            Initializes a new instance of the <see cref="T:Remotion.Data.Linq.Parsing.Structure.QueryParser" /> class, using the given <paramref name="expressionTreeParser" /> to
            convert <see cref="T:System.Linq.Expressions.Expression" /> instances into <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" />s.
            </summary><param name="expressionTreeParser">The expression tree parser.</param></member><member name="M:Remotion.Data.Linq.Parsing.Structure.QueryParser.GetParsedQuery(System.Linq.Expressions.Expression)"><summary>
            Gets the <see cref="T:Remotion.Data.Linq.QueryModel" /> of the given <paramref name="expressionTreeRoot" />.
            </summary><param name="expressionTreeRoot">The expression tree to parse.</param></member><member name="M:Remotion.Data.Linq.Parsing.Structure.QueryParser.ApplyAllNodes(Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode,Remotion.Data.Linq.Parsing.Structure.IntermediateModel.ClauseGenerationContext)"><summary>
            Applies all nodes to a <see cref="T:Remotion.Data.Linq.QueryModel" />, which is created by the trailing <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.MainSourceExpressionNode" /> in the 
            <paramref name="node" /> chain.
            </summary><param name="node">The entry point to the <see cref="T:Remotion.Data.Linq.Parsing.Structure.IntermediateModel.IExpressionNode" /> chain.</param><param name="clauseGenerationContext">The clause generation context collecting context information during the parsing process.</param></member><member name="T:Remotion.Data.Linq.Parsing.ThrowingExpressionTreeVisitor"><summary>
            Implements an <see cref="T:Remotion.Data.Linq.Parsing.ExpressionTreeVisitor" /> that throws an exception for every expression type that is not explicitly supported.
            Inherit from this class to ensure that an exception is thrown when an expression is passed 
            </summary></member><member name="M:Remotion.Data.Linq.Parsing.ThrowingExpressionTreeVisitor.VisitUnhandledItem``2(``0,System.String,System.Func{``0,``1})"><summary>
            Called when an unhandled item is visited. This method provides the item the visitor cannot handle (<paramref name="unhandledItem" />), 
            the <paramref name="visitMethod" /> that is not implemented in the visitor, and a delegate that can be used to invoke the 
            <paramref name="baseBehavior" /> of the <see cref="T:Remotion.Data.Linq.Parsing.ExpressionTreeVisitor" /> class. The default behavior of this method is to call the
            <see cref="M:Remotion.Data.Linq.Parsing.ThrowingExpressionTreeVisitor.CreateUnhandledItemException``1(``0,System.String)" /> method, but it can be overridden to do something else.
            </summary><param name="unhandledItem">The unhandled item.</param><param name="visitMethod">The visit method that is not implemented.</param><param name="baseBehavior">The behavior exposed by <see cref="T:Remotion.Data.Linq.Parsing.ExpressionTreeVisitor" /> for this item type.</param></member><member name="T:Remotion.Data.Linq.Transformations.SubQueryFromClauseFlattener"><summary>
            Takes a <see cref="T:Remotion.Data.Linq.QueryModel" /> and transforms it by replacing its <see cref="T:Remotion.Data.Linq.Clauses.FromClauseBase" /> instances (<see cref="T:Remotion.Data.Linq.Clauses.MainFromClause" /> and
            <see cref="T:Remotion.Data.Linq.Clauses.AdditionalFromClause" />) that contain subqueries with equivalent flattened clauses. Subqueries that contain a 
            <see cref="T:Remotion.Data.Linq.Clauses.ResultOperatorBase" /> (such as <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.DistinctResultOperator" /> or <see cref="T:Remotion.Data.Linq.Clauses.ResultOperators.TakeResultOperator" />) cannot be
            flattened.
            </summary></member><member name="T:Remotion.Data.Linq.Utilities.ArgumentEmptyException"><summary>
            This exception is thrown if an argument is empty although it must have a content.
            </summary></member><member name="T:Remotion.Data.Linq.Utilities.ArgumentTypeException"><summary>
            This exception is thrown if an argument has an invalid type.
            </summary></member><member name="T:Remotion.Data.Linq.Utilities.ArgumentUtility"><summary>
            This utility class provides methods for checking arguments.
            </summary></member><member name="M:Remotion.Data.Linq.Utilities.ArgumentUtility.CheckNotNullAndType``1(System.String,System.Object)"><summary>Returns the value itself if it is not <see langword="null" /> and of the specified value type.</summary></member><member name="M:Remotion.Data.Linq.Utilities.ArgumentUtility.CheckTypeIsAssignableFrom(System.String,System.Type,System.Type)"><summary>Checks whether <paramref name="actualType" /> can be assigned to <paramref name="expectedType" />.</summary></member><member name="T:Remotion.Data.Linq.Utilities.JoinColumnNames"><summary>
            A struct which containes the name of the primary and the foreign key of a join.
            </summary></member></members></doc>